如何将Invoke-Expression的输出传递给字符串?

时间:2012-09-07 14:39:58

标签: powershell

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

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

我想将所有输出,错误等输出到字符串$output

我该怎么做?我在最后和>尝试了$output = ...,但似乎都没有发现错误和排序。

1 个答案:

答案 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
相关问题