Использование Start-Process для запуска процесса, имеющего полную командную строку

Как я могу использовать командлет PowerShell Start-Process для запуска процесса, используя его полную командную строку (с исполняемым путем и аргументами). Например, пусть у меня есть следующая строка

"<dir_path>/myprog.exe" -arg1 "val1" -arg2 "val2"

хранятся в какой-то строковой переменной и хотят запустить ее через Start-Process.

Я знаю, что Start-Process -FilePath '<dir_path>/myprog.exe' -ArgumentList '-arg1 "val1" -arg2 "val2"' сработает. Но дело в том, что я не знаю, как получить путь к исполняемому файлу и аргументы из полной командной строки.

Итак, есть ли способ запустить процесс, используя его полную командную строку через Start-Process, или, если такого способа нет, то как я могу получить путь к файлу и список аргументов из командной строки?


person Mihran Hovsepyan    schedule 19.07.2013    source источник


Ответы (2)


Вам нужен стартовый процесс? Можете ли вы вызвать исполняемый файл напрямую?

& "C:\Dir 1\Dir 2\executable.exe" -arg1 "value 1" -arg2 "value 2"

См. справку about_Operators и информацию об операторе & (вызов).

Счет

person Bill_Stewart    schedule 19.07.2013

Есть ли какая-то причина, по которой вы отдаете предпочтение Start-Process? Если нет, вы можете сделать это:

Invoke-Expression "& $command"

где $command — это переменная, в которой хранится полная командная строка.

person Adi Inbar    schedule 20.07.2013