我正在尝试使用Start-Process运行它,但它似乎并没有按原样运行。非常感谢提前。
使用cmd / C有效: -
cmd /C ("$([char]34)" + "C:\Program Files\MBSA\bin\mbsacli.exe" + "$([char]34)" + " /xmlout /wi /nvc /nd /catalog " + "$([char]34)" + "C:\Program Files\MBSA\db\wsusscn2.cab" + "$([char]34)" + " /unicode > " + "$([char]34)" + "C:\Program Files\MBSA\result.xml" + "$([char]34)")
使用Start-Process不起作用: -
Start-Process -FilePath "C:\Program Files\MBSA\bin\mbsacli.exe" -ArgumentList (" /xmlout /wi /nvc /nd /catalog " + $([char]34) + "C:\Program Files\MBSA\db\wsusscn2.cab" + $([char]34) + " /unicode > " + $([char]34) + "C:\Program Files\MBSA\result.xml" + "$([char]34)") -Wait -PassThru
答案 0 :(得分:1)
使用-RedirectStandardOutput后跟filepath
Start-Process -FilePath "C:\Program Files\MBSA\bin\mbsacli.exe" -ArgumentList (" /xmlout /wi /nvc /nd /catalog " + $([char]34) + "C:\Program Files\MBSA\db\wsusscn2.cab" + $([char]34) + " /unicode" ) -Wait -PassThru -RedirectStandardOutput "C:\Program Files\MBSA\result.xml"
而不是$([char] 34)如果你用单引号括起来,你可以直接使用双引号,如下所示:
Start-Process -FilePath "C:\Program Files\MBSA\bin\mbsacli.exe" -ArgumentList ' /xmlout /wi /nvc /nd /catalog "C:\Program Files\MBSA\db\wsusscn2.cab" /unicode' -Wait -PassThru -RedirectStandardOutput "C:\Program Files\MBSA\result.xml"