Выполнение Windows Powershell Scripts просто открывает его в редакторе

У меня есть Windows powershell сценарий, который хорошо работает в интерактивном редакторе. Сценарий является простой одной строкой sql cmd:

sqlcmd -S servername -d dbname -E -W -w 999 -s "," -Q "SELECT select col1,col2,'','','','','','','','','','','','','','','','','','','','','','','','','' From Table" -o "C:\sqlcmd.csv"

Когда я ввожу это в powershell командной строке, она хорошо работает. Я сохраняю его в ps1 файле и попытке работать, это от cmd запрашивает путем ввода.\filename.ps1, это открывает его в Блокноте и не выполняет его.

Я затем пытаюсь выполнить его как команду как это:

powershell sqlcmd -S servername -d dbname -E -W -w 999 -s "," -Q "SELECT select col1,col2,'','','','','','','','','','','','','','','','','','','','','','','','','' From Table" -o "C:\sqlcmd.csv"

И это говорит "-s недостающий параметр...".

Какие-либо предложения при том, чтобы заставлять это выполнить право? Я считал что-то где-нибудь о политике выполнения Windows и задавался вопросом, было ли это что-то как этот.

Операционной системой является Windows XP, SP2.

8
задан 14.06.2019, 00:44

2 ответа

Можно запустить скрипт Powershell от командной строки как это:

powershell -command "& .\filename.ps1"

Вы, возможно, должны изменить свою политику выполнения запустить скрипты Powershell.

powershell -command "Set-ExecutionPolicy Unrestricted"
2
ответ дан 07.12.2019, 14:07

Я не использовал бы PowerShell для этого. Это не служит никакой цели, делающей так кроме того, чтобы вынуждать PowerShell загрузить, проанализировать строку для переменных и затем назвать внешнюю программу. Сохраните его в .cmd файл и используйте его в качестве пакетной программы, потому что это - каково это действительно.

1
ответ дан 07.12.2019, 14:07

Теги

Похожие вопросы