简短说明
介绍 PowerShell 中输出流的可用性和用途。
详细说明
PowerShell 提供多个输出流。 流为不同类型的消息提供通道。 可以使用关联的 cmdlet 或重定向将这些流写入这些流。 有关详细信息,请参阅 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 |
| n/a | Progress 流 | PowerShell 2.0 | Write-Progress |
注意
Progress 流不支持重定向。
Success 流
Success 流是正常成功结果的默认流。
使用 Write-Output cmdlet 将对象显式写入此流。 此流用于通过 PowerShell 管道传递对象。
Success 流连接到本机应用程序的 stdout 流。
Error 流
Error 流是错误结果的默认流。 使用 Write-Error cmdlet 显式写入此流。
Error 流连接到本机应用程序的 stderr 流。 在大多数情况下,这些错误可以终止执行管道。 写入此流的错误也会添加到 $Error 自动变量。 有关详细信息,请参阅 about_Automatic_Variables。
Warning 流
Warning 流适用于错误条件,这些条件严重于写入 Error 流的错误。 在正常情况下,这些警告不会终止执行。 警告不会写入 $Error 自动变量。 使用 Write-Warning cmdlet 显式写入此流。
Verbose 流
Verbose 流适用于帮助用户在以交互方式或脚本运行时对命令进行故障排除的消息。 使用 Write-Verbose cmdlet 将消息显式写入此流。 许多 cmdlet 提供详细输出,有助于了解 cmdlet 的内部工作。 仅当使用 -Verbose 通用参数时,才会输出详细消息。 有关详细信息,请参阅 about_CommonParameters。
Debug 流
Debug 流用于帮助脚本编写者了解其代码失败的原因的消息。 使用 Write-Debug cmdlet 显式写入此流。 仅当使用 -Debug 通用参数时,调试消息才会输出。 有关详细信息,请参阅 about_CommonParameters。
Debug 消息适用于脚本和 cmdlet 开发人员,而不是最终用户。 这些调试消息可以包含深度故障排除所需的内部详细信息。
Information 流
Information 流旨在提供有助于用户了解脚本所执行的作的消息。 开发人员也可以使用它作为用于通过 PowerShell 传递信息的其他流。 开发人员可以标记流数据,并具有该流的特定处理。 使用 Write-Information cmdlet 显式写入此流。
Write-Host 还会写入 Information 流。 cmdlet 之间的差异在于,除非重定向 Write-Host 流,否则 Information 也会写入主机控制台。
Write-Information 仅写入 Information 流。
Progress 流
Progress 流用于在较长运行的命令和脚本中传达进度的消息。 使用 Write-Progress cmdlet 将消息显式写入此流。
Progress 流不支持重定向。