使用 PowerShell 管道
在大多數情況下,管道的輸入將是一個物件陣列。雖然 PROCESS{}
塊的行為可能看起來類似於 foreach{}
塊,但跳過陣列中的元素需要不同的過程。
如果像 foreach{}
一樣,你在 PROCESS{}
塊中使用了 continue
,它會破壞管道,跳過包括 END{}
塊在內的所有後續語句。相反,使用 return
- 它只會結束當前元素的 PROCESS{}
塊並移動到下一個。
在某些情況下,需要輸出具有不同編碼的函式的結果。CmdLets 輸出的編碼由 $OutputEncoding
變數控制。當輸出打算放入到本機應用程式的管道中時,修復編碼以匹配目標 $OutputEncoding = [Console]::OutputEncoding
可能是個好主意。
其他參考:
關於 $OutputEncoding
的更多見解的部落格文章 https://blogs.msdn.microsoft.com/powershell/2006/12/11/outputencoding-to-the-rescue/