管道 - 使用 PowerShell cmdlet 的输出

人们在开始使用 PowerShell 进行脚本编写时遇到的第一个问题是如何操作 cmdlet 的输出来执行另一个操作。

管道符号|在 cmdlet 的末尾用于获取它导出的数据并将其提供给下一个 cmdlet。一个简单的例子是使用 Select-Object 仅显示 Get-ChildItem 显示的文件的 Name 属性:

Get-ChildItem | Select-Object Name
#This may be shortened to:
gci | Select Name

更高级的管道使用允许我们将 cmdlet 的输出传递到 foreach 循环:

Get-ChildItem | ForEach-Object {
    Copy-Item -Path $_.FullName -destination C:\NewDirectory\ 
}

#This may be shortened to:
gci | % { Copy $_.FullName C:\NewDirectory\ }

请注意,上面的示例使用$ _自动变量。 $ _是$ PSItem 的短别名,它是一个自动变量,包含管道中的当前项。