如何在批处理脚本中使用 Powershell 命令invoke-sqlcmd

如何在批处理脚本中使用 Powershell 命令invoke-sqlcmd

我有一个 Powershell 命令,我想在批处理脚本中运行它。它在 Powershell 控制台中运行良好,但我无法在批处理脚本中正确调用它。Powershell 命令如下:

invoke-sqlcmd -inputfile "D:\T3 Reports\sql.sql" -ServerInstance ISD-DB02 | export-csv "D:\T3RawDataFiles\T3HistoricalRaw\Complaint\samp.csv" -Force -En UTF8

为什么此命令在批处理脚本中不起作用?

另外,是否可以使用批处理变量代替输入和输出文件的文件路径,而不是将整个路径放在 Powershell 命令中(仍然在批处理脚本中运行)?

谢谢。

答案1

我发现在批处理脚本中运行invoke-sqlcmd是可行的:):

我已经使用过这一行:

powershell -Command "& {Add-PSSnapin SqlServerCmdletSnapin100; Add-PSSnapin SqlServerProviderSnapin100; invoke-sqlcmd -inputfile '%sqlPath1%' -ServerInstance %Server% | export-csv '%out_path1%\%out1_fn%' -Force -En UTF8;}"

效果非常好耶!^_^

相关内容