当前位置:网站首页 > 更多 > 玩电脑 > 正文

[玩转系统] Write-Output (Microsoft.PowerShell.Utility)

作者:精品下载站 日期:2024-12-14 02:02:18 浏览:15 分类:玩电脑

Write-Output (Microsoft.PowerShell.Utility)


Write-Output

模块 :Microsoft.PowerShell.Utility

将指定对象写入管道。

句法

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"可以写成"主目录:$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

指定要沿着管道发送的对象。输入包含对象的变量,或键入获取对象的命令或表达式。

类型 :

PS对象[]

位置:

0

默认值:

None

必需的:

True

接受管道输入:

True

接受通配符:

False

-NoEnumerate

默认情况下,Write-Output cmdlet 始终枚举其输出。 NoEnumerate 参数会抑制默认行为,并阻止 Write-Output 枚举输出。如果命令包含在括号中,则 NoEnumerate 参数无效,因为括号强制枚举。例如,(Write-Output 1,2,3) 仍然枚举该数组。

NoEnumerate 参数仅在管道中有用。尝试在控制台中查看 NoEnumerate 的效果是有问题的,因为 PowerShell 将 Out-Default 添加到每个命令行的末尾,这会导致枚举。但是,如果将 Write-Output -NoEnumerate 通过管道传输到另一个 cmdlet,则下游 cmdlet 会接收集合对象,而不是集合的枚举项。

类型 :

SwitchParameter

位置:

命名

默认值:

None

必需的:

False

接受管道输入:

False

接受通配符:

False

输入

PSObject

您可以通过管道将对象传递到此 cmdlet。

输出

PSObject

此 cmdlet 返回作为输入提交的对象。

笔记

PowerShell 包含以下 Write-Output 别名:

  • 所有平台:

      echo
  • Windows:

      write
    • 您需要 登录账户 后才能发表评论

      取消回复欢迎 发表评论:

      关灯