11

在 Powershell 脚本中,我是这样的:

Invoke-Expression "& `"C:\Scripts\psftp.exe`" ftp.blah.com"

我想将它的所有输出、错误等通过管道传输到字符串$output

我怎样才能做到这一点?我最后也试过>了,$output = ...但似乎都没有发现错误和排序。

4

1 回答 1

14

试试这个:

$output = Invoke-Expression "C:\Scripts\psftp.exe ftp.blah.com 2>&1"

调用运算符的使用&是不必要的,因为在这种情况下引用 exe 路径,因为路径不包含空格。如果路径包含空格,则需要引用它,然后您必须使用调用运算符。也就是说,我不确定为什么Invoke-Expression在这种情况下你需要使用。鉴于您的示例,以下内容同样适用。

$output = C:\Scripts\psftp.exe ftp.blah.com 2>&1
于 2012-09-07T14:52:36.423 回答