在Powershell脚本中,我是这样的:
Invoke-Expression "& `"C:\Scripts\psftp.exe`" ftp.blah.com"
我想将所有输出,错误等输出到字符串$output
我该怎么做?我在最后和>
尝试了$output = ...
,但似乎都没有发现错误和排序。
答案 0 :(得分:13)
试试这个:
$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