Write-Output
将指定的对象写入管道。
语法
Write-Output
[-InputObject] <PSObject[]>
[-NoEnumerate]
[<CommonParameters>]
说明
将指定的对象写入管道。 如果 Write-Output
是管道中的最后一个命令,则对象将显示在控制台中。
Write-Output
将对象发送到主管道,也称为 成功流。 若要将错误对象发送到错误流,请使用 Write-Error
。
此 cmdlet 通常用于脚本,以在控制台上显示字符串和其他对象。
Write-Output
的内置别名之一是 echo
,类似于使用 echo
的其他 shell。 默认行为是在管道末尾显示输出。 在 PowerShell 中,通常不需要在默认情况下显示输出的实例中使用 cmdlet。 例如,Get-Process | Write-Output
等效于 Get-Process
。 或者,echo "Home directory: $HOME"
可以编写 "Home directory: $HOME"
。
默认情况下,Write-Output
枚举集合中的对象。 但是,Write-Output
还可以使用 NoEnumerate 参数将集合作为单个对象向下传递。
示例
示例 1:获取对象并将其写入控制台
在此示例中,Get-Process
cmdlet 的结果存储在 $P
变量中。
Write-Output
cmdlet 显示控制台 $P
中的进程对象。
$P = Get-Process
Write-Output $P
示例 2:将输出传递给另一个 cmdlet
此命令通过管道将“测试输出”字符串传递给 Get-Member
cmdlet,该 cmdlet 显示 System.String 类的成员,该字符串演示了该字符串沿管道传递。
Write-Output "test output" | Get-Member
示例 3:取消输出中的枚举
此命令添加 NoEnumerate 参数,以便通过管道将集合或数组视为单个对象。
Write-Output 1,2,3 | Measure-Object
Count : 3
...
Write-Output 1,2,3 -NoEnumerate | Measure-Object
Count : 1
...
参数
-InputObject
指定要向下发送管道的对象。 输入包含对象的变量,或键入获取对象的命令或表达式。
类型: | PSObject[] |
Position: | 0 |
默认值: | None |
必需: | True |
接受管道输入: | True |
接受通配符: | False |
-NoEnumerate
默认情况下,Write-Output
cmdlet 始终枚举其输出。
NoEnumerate 参数禁止默认行为,并阻止 Write-Output
枚举输出。 如果命令包装在括号中,则 NoEnumerate 参数无效,因为括号强制枚举。 例如,(Write-Output 1,2,3 -NoEnumerate)
仍枚举数组。
NoEnumerate 参数仅在管道中有用。 尝试查看控制台中 NoEnumerate 的影响是有问题的,因为 PowerShell 会将 Out-Default
添加到每个命令行的末尾,这会导致枚举。 但是,如果将管道 Write-Output -NoEnumerate
传递给另一个 cmdlet,则下游 cmdlet 将接收集合对象,而不是集合的枚举项。
类型: | SwitchParameter |
Position: | Named |
默认值: | None |
必需: | False |
接受管道输入: | False |
接受通配符: | False |
输入
可以通过管道将对象传递给此 cmdlet。
输出
此 cmdlet 返回作为输入提交的对象。
备注
PowerShell 包含以下与 Write-Output
相关的别名:
所有平台:
echo
窗户:
write