管道 - 使用 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 的短別名,它是一個自動變數,包含管道中的當前項。