2014-02-06 4 views
0

Я пытался запустить сценарий PowerShell с CMD без успеха.Запуск скрипта PowerShell с аргументами

Сценарий я бегу:

C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe -command 'C:\Program Files\Tivoli\TSM\start-tdpsql-instance.ps1' -dpsqloptfile h:\tsm\dsm.opt -dpsqlcfgfile h:\tsm\tdpsql.cfg 

Но, к сожалению, я получаю сообщение об ошибке:

You must provide a value expression on the right-hand side of the '-' operator. 
At line:1 char:58 
+ 'C:\Program Files\Tivoli\TSM\start-tdpsql-instance.ps1' - <<<< dpsqloptfile h 
:\tsm\dsm.opt -dpsqlcfgfile h:\tsm\tdpsql.cfg 
+ CategoryInfo   : ParserError: (:) [], ParentContainsErrorRecordEx 
ception 
+ FullyQualifiedErrorId : ExpectedValueExpression 

У вас есть какие-либо идеи, почему он не обрабатывает свои аргументы?

ответ

0

Я решил это! =]

C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe -Command "& 'C:\Program Files\Tivoli\TSM\start-tdpsql-instance.ps1' -dpsqloptfile 'h:\tsm\dsm.opt' -dpsqlcfgfile 'h:\tsm\tdpsql.cfg' 
+0

Хотя это будет работать, это аргумент '-File'. Вместо того, чтобы делать '-Command '& ....' вы можете просто сделать '-File' script.ps1''. – SpellingD

+0

@SpellingD На самом деле это не сработает, потому что одинарные кавычки не являются допустимыми цитирующими символами в CMD, но 'powershell -File" script.ps1 "' будет. –

+0

@AnsgarWiechers Правда, я просто фокусировался на точке '-File', а не на реализации вызывающей оболочки. – SpellingD

Смежные вопросы