Как я могу выполнить внешнюю программу с параметрами в PowerShell?

Я прочитал этот ответ qaru.site/info/32232/..., и он достает меня на полпути. Вот что мне нужно сделать.

Выполните следующую команду:

"c:\myexe.exe <c:\Users\Me\myanswerfile.txt"

Если я запустил это прямо из моей powershell script

&'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 команда выходит из строя с аналогичной ошибкой, как и первая.

Я в тупике. Любые предложения?

Ответ 1

Если вы хотите запустить программу, просто введите ее имя и параметры:

notepad.exe C:\devmy\hi.txt

Если вы хотите запустить exe и перенаправить stdin к нему, который кажется вашим попыткой, используйте:

Get-Content c:devmy\hi.txt | yourexe.exe 

Если вам нужно указать полный путь к программе, вам нужно использовать амперсанды и кавычки, иначе powershell думает, что вы определяете простую строку:

&"C:\Program Files (x86)\Notepad++\notepad++.exe"

Ответ 2

Просто используйте оператор &

& "Program\path\program.exe" "arg1" "arg2" ....