我怎样才能使用'>'运行外部命令时重定向器运算符?

时间:2015-03-03 00:11:55

标签: powershell

我正在尝试在安装脚本的安装部分中运行以下命令。

Execute-Process -Path mbsacli.exe -Parameters '/xmlout /catalog wsusscn2.cab >result.xml' -WindowStyle Hidden

如果我刚跑:

Execute-Process -Path mbsacli.exe -Parameters '/xmlout /catalog wsusscn2.cab' -WindowStyle Hidden

然后该过程正常,但只要我将> reports.xml添加到命令,我就会从mbsacli.exe工具中获得“传递的参数太多”。但是,根据mbsacli工具,这是运行命令的正确方法:

MBSACLI /xmlout /catalog c:\temp\wsusscn2.cab /unicode >results.xml

Powershell击中'>'性格和奇怪的东西?

仅供参考 -

1 个答案:

答案 0 :(得分:2)

在您粘贴的示例中,命令解释程序正在解析您的命令并将STDOUT输出到文本文件。在你粘贴的那个中,你通过了Paracute,Execute-Process不知道如何处理。相反,试试这个:

Execute-Process -Path cmd.exe -Parameters "/C MBSACLI /xmlout /catalog C:\fullpath\wsusscn2.cab >results.xml" -WindowStyle Hidden