about_Output_Streams

简短说明

介绍了 PowerShell 中的输出流的可用性和用途。

长说明

PowerShell 提供了多个输出流。 这些流为不同类型的消息提供了通道。 你可以使用关联的 cmdlet 或重定向写入到这些流。 有关详细信息 information,请参阅 about_Redirection

PowerShell 支持以下输出流。

流编号 说明 已引入的版本 写入 Cmdlet
1 Success PowerShell 2.0 Write-Output
2 Error PowerShell 2.0 Write-Error
3 Warning PowerShell 2.0 Write-Warning
4 Verbose PowerShell 2.0 Write-Verbose
5 Debug PowerShell 2.0 Write-Debug
6 Information PowerShell 5.0 Write-Information
不适用 Progress PowerShell 2.0 Write-Progress

注意

Progress 流不支持重定向。

Success 流

Success 流是正常成功结果的默认流。 使用 Write-Output cmdlet 将对象显式写入此流。 此流用于通过 PowerShell 管道传递对象。 Success 流连接到原生应用程序的 stdout 流。

Error 流

Error 是结果的默认流 error 。 可以使用 Write-Error cmdlet 显式写入到此流。 Error 流连接到原生应用程序的 stderr 流。 大多数情况下,这些错误会终止执行管道。 写入此流的错误也会添加到 $Error 自动变量。 有关详细信息 information,请参阅 about_Automatic_Variables

Warning 流

Warning 流适用于 error 写入到流的错误程度低于错误 Error 的条件。 正常情况下,这些警告不会终止执行。 警告不会写入 $Error 自动变量。 可以使用 Write-Warning cmdlet 显式写入到此流。

Verbose 流

Verbose 流适用于当以交互方式或通过脚本运行命令时帮助用户对命令进行故障排除的消息。 可以使用 Write-Verbose cmdlet 显式将消息写入到此流。 许多 cmdlet 提供 verbose 有助于了解 cmdlet 内部工作的输出。 仅 verbose 当使用 -Verbose 通用参数时,消息才会输出。 有关详细信息 information,请参阅 about_CommonParameters

Debug 流

Debug 流用于可帮助脚本编写者了解代码失败原因的消息。 可以使用 Write-Debug cmdlet 显式写入到此流。 仅 debug 当使用 -Debug 通用参数时,消息才会输出。 有关详细信息 information,请参阅 about_CommonParameters

Debug 消息更适合脚本和 cmdlet 开发人员,而不是最终用户。 这些 debug 消息可以包含深入故障排除所需的内部详细信息。

Information 流

Information 流旨在提供可帮助用户了解脚本正在执行的操作的消息。 开发人员也可以使用它作为用于传递 information PowerShell 的其他流。 开发人员可以标记流数据并对该流进行特殊处理。 可以使用 Write-Information cmdlet 显式写入到此流。

Write-Host 还会写入到 Information 流。 这些 cmdlet 之间的区别在于,除非重定向 Information 流,否则 Write-Host 还会写入到主机控制台。 Write-Information 只会写入到 Information 流。

Progress 流

Progress 用于在长时间运行的命令和脚本中通信 progress 的消息。 可以使用 Write-Progress cmdlet 显式将消息写入到此流。 Progress 流不支持重定向。

另请参阅