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

输入

PSObject

可以通过管道将对象传递给 Write-Output

输出

PSObject

Write-Output 返回作为输入提交的对象。