PowerShell的一個重中之重的功能就是管道(pipeline),本文從淺入深,一步一步詳解管道的使用方法和例子,來看看有沒有你所不知道的吧,如果全知道,恭喜你已經很厲害啦——適用于所有PowerShell應用小白與技術老鳥。另外歡迎各位技術大牛來補充討論學習~
1. 管道(pipeline)是什么
在Shell中一個重要的基本概念就是管道(pipeline),即在一組命令中,輸出的命令結果成為下一個命令的輸入參數。管道的概念與真實生活中的生產線比較相似:在不同的生產環節進行連續的再加工,如下圖例子:
“Get-ChildItem”意思是獲取當前路徑的所有項目,“|Where-Object {$_.Length -gt 200}”意思是查看上一步結果,取所有長度大于200的項目,“|Sort-Object -Descending Name”意思是查看上一步結果,按照Name進行倒敘排列。
在PowerShell中,使用管道符號(|)來劃分管道中的每個命令,上述例子說明了管道的強大功能,同時PowerShell在管道中傳遞的是高保真對象,不僅僅是文本描述。
下面主要給大家介紹一下常用的管道處理命令。
2. Where-Object:過濾列表項或命令輸出結果
可以使用Where-Object(別名是where和?)從列表或者命令輸出結果中過濾選擇你需要的項目。
對于輸入的每一項,Where-Object都會根據{}中定義的腳本塊對輸入進行計算,如果返回True,則輸出,否則不輸出。如下例子:
{}表示一個腳本塊,可以輸入一系列PowerShell命令,其中$_代表當前輸入對象,在這個例子中,$_就代表一個文件項目。-gt是比較操作符,意思是大于,關于比較操作符的介紹如下:
PowerShell中比較操作符是用于對表達式進行比較的。默認情況比較操作符不區分大小寫,如果想要區分,需要使用-C前綴,不需要區分的,使用-I前綴。
新聞熱點
疑難解答