您好,登錄后才能下訂單哦!
這篇文章將為大家詳細講解有關PowerShell中的管道如何工作,小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。
管道模型
顧名思義,管道就是用管子將事物連接起來構成通道。從表面上看,管道是一串由管道符號(|)連接起來的一些命令。從功能來看,管道就像流水線,將上一個處理的結果,傳送給下一個處理作為輸入。由管道連接起來的命令從左到右依次執行,***將結果輸出到控制臺。以前的管道流傳送的都是字符串,或者是可以格式化為字符串的表達式,PowerShell的管道流則可以傳輸對象。
PowerShell中的管道如何工作?
PowerShell的管道,能夠傳遞對象,這是一個巨大的進步。到這個時候,管道才有了點函數調用的味道。調用方能夠傳遞復雜的對象,接收方則要進行對象的類型匹配,匹配不正確命令執行就會出錯。但這里也有例外。PowerShell管道不但可以按整個對象傳遞,還能夠按照屬性名傳遞,這一特性大大提高了管道的可用性,和處理能力。這使得我們能夠在類型不匹配的情況下,也能夠使用管道,傳遞對象的部分屬性。
管道使用舉例
在PowerShell中有一些專門為管道設計的命令如get-member、sort、measure等,也有一些命令雖然不是為管道專門設計,但卻在管道中大放光彩。下面舉例說明幾個最常用的命令:
select
在管道中使用select命令,就像在Cmd中使用dir一樣常見。不用看select命令的詳細語法,你就能寫出最常用的select使用方法。如下:
dir | select name,LastWriteTime
這個命令顯示當前文件夾中的文件和子文件夾的名字和***修改日期。
where
where命令使用來做篩選的,可以簡寫為?,使用示例如下:
dir | ? {$_.mode –like “d*”} | select name,LastWriteTime
這個命令能夠只顯示出當前文件夾的子文件夾,而不顯示文件。
foreach
foreach可以對傳遞過來的每個對象進行處理,可以簡寫為‘%’。使用示例如下:
dir | ? {$_.mode -notlike "d*"} | % {echo "The size of file '$($_.name)' is $_.Length"}
這個命令的結果是輸出類似“The size of file 'myScript.ps1' is 1520”這樣的信息,每個文件一行。
關于“PowerShell中的管道如何工作”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,使各位可以學到更多知識,如果覺得文章不錯,請把它分享出去讓更多的人看到。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。