我有一个字符串$command
,其中包含一个带有参数的程序,比如说
$command = "c:\mydir\myfoo.exe Parameter1 '/`$`$=bla' Parameter3".
我可以使用 Invoke-Expression 运行命令:
Invoke-Expression $command
如何将某些内容重定向到程序的标准输入?在我的例子中,程序期望用户像这样交互地输入一些字符串:
v<RETURN>
<RETURN>
k01
<RETURN>
如果我在 cmd.exe 环境中工作,我只需将输入字符串通过管道传输到一个文件 - 比如说d.inp
- 然后使用这个文件作为标准输入启动我的程序:
c:\mydir\myfoo.exe Parameter1 /$$=bla Parameter3 < d.inp
(*)
如何以一种意识形态的方式在 PowerShell 中做同样的事情?
谢谢!
[*] (请注意,在 cmd.exe 中,我们不需要像在 PowerShell 中那样转义第二个参数。这在我们的例子中并不重要,但为了完整起见,我在这里注明)。