Write-Output
将指定的对象发送到管道中的下一个命令。 如果该命令是管道中的最后一个命令,则对象将显示在控制台中。
语法
Write-Output
[-InputObject] <PSObject[]>
[-NoEnumerate]
[<CommonParameters>]
说明
Write-Output cmdlet 将指定的对象向下发送到下一个命令。 如果该命令是管道中的最后一个命令,则对象将显示在控制台中。
写输出 将对象发送到主管道,也称为“输出流”或“成功管道”。若要将错误对象发送到错误管道,请使用 Write-Error。
此 cmdlet 通常用于脚本,以在控制台上显示字符串和其他对象。
但是,由于默认行为是在管道末尾显示对象,因此通常不需要使用 cmdlet。
例如,Get-Process | Write-Output
等效于 Get-Process
。
示例
示例 1:获取对象并将其写入控制台
PS C:\> $P = Get-Process
PS C:\> Write-Output $P
PS C:\> $P
第一个命令获取计算机上运行的进程,并将其存储在$P变量中。
第二和第三个命令在主机上的$P中显示进程对象。
示例 2:将输出传递给另一个 cmdlet
PS C:\> Write-Output "test output" | Get-Member
此命令通过管道将“测试输出”字符串传递给 Get-Member cmdlet,该 cmdlet 显示 System.String 类的成员,该字符串演示了该字符串沿管道传递。
示例 3:取消输出中的枚举
PS C:\> Write-Output @(1,2,3) | measure
Count : 3
...
PS C:\> Write-Output @(1,2,3) -NoEnumerate | measure
Count : 1
此命令添加 NoEnumerate 参数,以便通过管道将集合或数组视为单个对象。
参数
-InputObject
指定要向下发送管道的对象。 输入包含对象的变量,或键入获取对象的命令或表达式。
类型: | PSObject[] |
Position: | 0 |
默认值: | None |
必需: | True |
接受管道输入: | True |
接受通配符: | False |
-NoEnumerate
默认情况下,Write-Output cmdlet 始终枚举其输出。 NoEnumerate 参数禁止默认行为,并阻止 写输出 枚举输出。 NoEnumerate 参数对括号中的命令创建的集合没有影响,因为括号强制枚举。
类型: | SwitchParameter |
Position: | Named |
默认值: | None |
必需: | False |
接受管道输入: | False |
接受通配符: | False |
输入
可以通过管道将对象传递给 Write-Output。
输出
Write-Output 返回作为输入提交的对象。