14

我已经阅读了这个答案stackoverflow答案,它让我走到了一半。这是我需要做的。

执行这个命令:

"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 变量,则该命令将失败,并出现与第一个类似的错误。

我难住了。有什么建议么?

4

2 回答 2

26

如果要运行程序,只需键入其名称和参数:

notepad.exe C:\devmy\hi.txt

如果您想运行一个 exe 并将标准输入重定向到它,您的示例似乎是一种尝试,请使用:

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

如果您需要指定程序的完整路径,那么您需要使用 & 和引号,否则 powershell 认为您正在定义一个纯字符串:

&"C:\Program Files (x86)\Notepad++\notepad++.exe"
于 2012-09-18T14:17:50.227 回答
7

只需使用&运算符

& "Program\path\program.exe" "arg1" "arg2" ....
于 2014-10-16T15:34:08.140 回答