我有一个 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;}"
效果非常好耶!^_^