Write-Output
将指定的对象发送到管道中的下一个命令。 如果该命令是管道中的最后一个命令,则对象将显示在控制台中。
语法
Default (默认值)
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[] |
| 默认值: | None |
| 支持通配符: | False |
| 不显示: | False |
参数集
(All)
| Position: | 0 |
| 必需: | True |
| 来自管道的值: | True |
| 来自管道的值(按属性名称): | False |
| 来自剩余参数的值: | False |
-NoEnumerate
默认情况下,Write-Output cmdlet 始终枚举其输出。 NoEnumerate 参数禁止默认行为,并阻止 写输出 枚举输出。 NoEnumerate 参数对括号中的命令创建的集合没有影响,因为括号强制枚举。
参数属性
| 类型: | SwitchParameter |
| 默认值: | None |
| 支持通配符: | False |
| 不显示: | False |
参数集
(All)
| Position: | Named |
| 必需: | False |
| 来自管道的值: | False |
| 来自管道的值(按属性名称): | False |
| 来自剩余参数的值: | False |
CommonParameters
此 cmdlet 支持通用参数:-Debug、-ErrorAction、-ErrorVariable、-InformationAction、-InformationVariable、-OutBuffer、-OutVariable、-PipelineVariable、-ProgressAction、-Verbose、-WarningAction 和 -WarningVariable。 有关详细信息,请参阅 about_CommonParameters。
输入
PSObject
可以通过管道将对象传递给 Write-Output。
输出
PSObject
Write-Output 返回作为输入提交的对象。