控制台流

PS> $ErrorActionPreference = "Continue" (1)
PS> & console_app.exe *>&1 | % { $_ } (2)
PS> & console_app.exe *>&1 | ? { $_ -is [System.Management.Automation.ErrorRecord] } (3)
PS> & console_app.exe *>&1 | ? { $_ -is [System.Management.Automation.WarningRecord] } (4)
PS> & console_app.exe *>&1 | ? { $_ -is [System.Management.Automation.VerboseRecord] } (5)
PS> & console_app.exe *>&1 (6)
PS> & console_app.exe 2>&1 (7)

流 2 包含 System.Management.Automation.ErrorRecord 对象。请注意,某些应用程序(如 git.exe)使用错误流作为参考目的,根本不一定是错误。在这种情况下,最好查看退出代码以确定错误流是否应该被解释为错误。

PowerShell 了解这些流:输出,错误,警告,详细,调试,进度。本机应用程序通常只使用这些流:输出,错误,警告。

在 PowerShell 5 中,可以将所有流重定向到标准输出/成功流(6)。

在早期的 PowerShell 版本中,只有特定的流可以重定向到标准输出/成功流(7)。在此示例中,错误流将重定向到输出流。