溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

PowerShell中的管道如何工作

發(fā)布時間:2021-10-25 09:32:01 來源:億速云 閱讀:215 作者:小新 欄目:系統(tǒng)運維

這篇文章將為大家詳細講解有關(guān)PowerShell中的管道如何工作,小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。

管道模型

顧名思義,管道就是用管子將事物連接起來構(gòu)成通道。從表面上看,管道是一串由管道符號(|)連接起來的一些命令。從功能來看,管道就像流水線,將上一個處理的結(jié)果,傳送給下一個處理作為輸入。由管道連接起來的命令從左到右依次執(zhí)行,***將結(jié)果輸出到控制臺。以前的管道流傳送的都是字符串,或者是可以格式化為字符串的表達式,PowerShell的管道流則可以傳輸對象。

PowerShell中的管道如何工作?

PowerShell的管道,能夠傳遞對象,這是一個巨大的進步。到這個時候,管道才有了點函數(shù)調(diào)用的味道。調(diào)用方能夠傳遞復(fù)雜的對象,接收方則要進行對象的類型匹配,匹配不正確命令執(zhí)行就會出錯。但這里也有例外。PowerShell管道不但可以按整個對象傳遞,還能夠按照屬性名傳遞,這一特性大大提高了管道的可用性,和處理能力。這使得我們能夠在類型不匹配的情況下,也能夠使用管道,傳遞對象的部分屬性。

管道使用舉例

在PowerShell中有一些專門為管道設(shè)計的命令如get-member、sort、measure等,也有一些命令雖然不是為管道專門設(shè)計,但卻在管道中大放光彩。下面舉例說明幾個最常用的命令:

select

在管道中使用select命令,就像在Cmd中使用dir一樣常見。不用看select命令的詳細語法,你就能寫出最常用的select使用方法。如下:

dir | select name,LastWriteTime

這個命令顯示當(dāng)前文件夾中的文件和子文件夾的名字和***修改日期。

where

where命令使用來做篩選的,可以簡寫為?,使用示例如下:

dir | ? {$_.mode –like “d*”} | select name,LastWriteTime

這個命令能夠只顯示出當(dāng)前文件夾的子文件夾,而不顯示文件。

foreach

foreach可以對傳遞過來的每個對象進行處理,可以簡寫為‘%’。使用示例如下:

dir | ? {$_.mode -notlike "d*"} | % {echo "The size of file '$($_.name)' is $_.Length"}

這個命令的結(jié)果是輸出類似“The size of file 'myScript.ps1' is 1520”這樣的信息,每個文件一行。

關(guān)于“PowerShell中的管道如何工作”這篇文章就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,使各位可以學(xué)到更多知識,如果覺得文章不錯,請把它分享出去讓更多的人看到。

向AI問一下細節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI