【发布时间】:2016-02-02 14:21:33
【问题描述】:
我有一个通过stdout 流返回数据的脚本(只需在脚本末尾执行Write-Output)。
遗憾的是,我的代码中有很多 Write-Verbose 和 Write-Warning,我希望它们将数据写入 stderr 流,以免与我的输出纠缠在一起。
我发现Write-Warning,例如,实际上在后台调用$host.UI.WriteWarningLine,但它直接写给stdout,没有办法改变它。
有什么想法吗?
【问题讨论】:
-
你首先如何调用/调用脚本?只要您在 PowerShell 中调用它,详细和警告流就会与标准输出分开
-
@MathiasR.Jessen
powershell.exe -FilePath c:\script.ps1 2> NUL -
@MathiasR.Jessen 就是这样,我在 powershell 范围之外使用
stdout流。 -
也许,您可以尝试使用以下方法为
Write-Verbose和Write-Warning制作代理函数:How do I write to standard error in PowerShell?。
标签: powershell stdout stderr