У меня есть команда 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 ответ1

0

Я обнаружил, что работает :) для запуска 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;}"

работает как шарм уй! ^ _ ^

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .