调用外部可执行文件时抑制 Powershell 错误

Muh*_*eed 4 error-handling powershell executable powershell-cmdlet

我有一个正在调用外部可执行文件的 PowerShell 脚本,并且我想抑制由此产生的任何错误。如何才能实现这一点。使用 PowerShell cmdlet,我可以使用 的标准-ErrorAction参数SilentlyContinue,但这是一个外部可执行文件:

someExe --argument
Run Code Online (Sandbox Code Playgroud)

Ans*_*ers 7

外部命令的错误输出会发送到错误流(假设该命令正在将错误消息写入 STDERR),因此您只需重定向该流即可抑制该消息:

someExe --argument 2>$null
Run Code Online (Sandbox Code Playgroud)

如果命令写入 STDOUT 而不是 STDERR (不寻常的行为,但并非闻所未闻),您可能需要重定向成功输出流:

someExe --argument >$null
Run Code Online (Sandbox Code Playgroud)

  • 您可以从 [about_redirection](https://technet.microsoft.com/en-us/library/hh847746.aspx) 阅读更多相关信息 (2认同)