Как выполнить внешнюю программу с параметрами в PowerShell?
Я прочитал этот ответ stackru ответ, и он поймал меня там на полпути. Вот что мне нужно сделать.
Выполните эту команду:
"c:\myexe.exe <c:\Users\Me\myanswerfile.txt"
Если я запускаю это прямо из скрипта PowerShell
&'c:\myexe.exe <c:\Users\Me\myanswerfile.txt'
Я получаю эту ошибку:
The term 'C:\myexe.exe <c:\Users\Me\myanswerfile.txt' is not recognized as the name of
a cmdlet, function, script file, or operable program. Check the spelling of the name,or
if a path was included, verif that the path is correct and try again.
Теперь я попробовал несколько вариантов этого, включая помещение исходной команды в переменную с именем $cmd, а затем передачу
Если я добавлю '<' к переменной $cmd, команда завершится с ошибкой, аналогичной первой.
Я в тупике. Какие-либо предложения?
2 ответа
Если вы хотите запустить программу, просто введите ее имя и параметры:
notepad.exe C:\devmy\hi.txt
Если вы хотите запустить exe-файл и перенаправить на него стандартный ввод, который, как кажется, является вашим примером, используйте:
Get-Content c:devmy\hi.txt | yourexe.exe
Если вам нужно указать полный путь к программе, вам нужно использовать амперсанд и кавычки, иначе PowerShell думает, что вы определяете простую строку:
&"C:\Program Files (x86)\Notepad++\notepad++.exe"
Просто использовать &
оператор
& "Program\path\program.exe" "arg1" "arg2" ....