powershell是在window是的外殼語言,提供了多windows的更多操作,讓我們於windows的操作更簡單方便,以及就是就是管理員的命令列更好的管理。powershell提供了與.net fcl(.net類庫)的操作性,我們可以利用強大的.net fcl在powershell中。powershell提供強大的管道模型,管道指的是乙個命令的輸出可以利用操作符(|)方便的傳遞到下個命令作為輸入。powershell不同傳統管道模型的是它是一門基於物件的管道流,即在命令之間傳遞的物件不是簡單的文字。下面我們就以本地檔案操作來實踐powershell的管道常見命令:
1:集合遍歷foreach-object:可以簡寫為foreach,或者%代替,提供了管道傳入的對集合的遍歷,同時提供了操作前begin,操作process,結束end命令,其中$_提供對當前索引的指代。
示例:下面我們實踐利用foreach-object來計算本地檔案目錄的檔案大小:
2:條件選擇where-object:可以簡寫為where或者?代替。提供了對管道輸入集合的過濾篩選,類似於sql中的where條件,$_提供對當前索引的指代。
示例:輸出檔案大於100kb的檔案名字和大小:
3:選擇select-object:簡寫select,提供了對物件的選擇類似於sql的select,.net的new匿名物件。同時select支援-first和-last取最前面或者最後面的幾個相當於sql 中top,與下例中sort-object結合將很有用。
示例:選擇目錄下檔案的檔名和大小輸出:
4:排序sort-object:簡寫sort,對於集合物件參照乙個或者多個屬性排序,可以指定-descending為倒序。
示例:獲取最大的前5個檔案:
5:管道樹tee-object:簡寫為tee,可以把管道模型傳入的物件記錄在檔案日誌或者賦值給變數儲存等。提供-inputobject ,-filepath ,-variable
示例:儲存檔案物件時$test變數:
6:分組group-object:簡寫group,提供依據屬性分組類似sql group by。
示例:按照檔案型別分組並按照組內檔案個數排序
7:集合統計measure-object:簡寫:measure,提供了對集合的統計,簡便的方法來獲取最小值、最大值及平均值屬性。
示例:統計檔案大小的最小值,最大值,平均值,總大小:
8:比較compare-object:簡寫diff,提供了對兩個物件或集合的比較,其中有單側指向器,=>表達此物件出現在右邊,<=表示差異物件存在於左邊。
示例:新建乙個資料夾2,比較連個目錄的不同:
今天就到這裡,powershell很強大,繼續學習。
Powershell使用管道
管道並不是什麼新事物,以前的cmd控制台也有重定向的命令,例如dir more可以將結果分屏顯示。傳統的cmd管道是基於文字的,但是powershell是基於物件。ps ls sort object descending name select object name,length,lastwrit...
PowerShell 管道命令
1 ls sort descending name format table name,mode 通過ls獲取當前目錄的所有檔案資訊 通過sort descending對檔案資訊按照name降序排列 將排序好的name和mode格式化成table輸出 2 where object where 過濾列...
Powershell使用管道
管道並不是什麼新事物,以前的cmd控制台也有重定向的命令,例如dir more可以將結果分屏顯示。傳統的cmd管道是基於文字的,但是powershell是基於物件。ps ls sort object descending name select object name,length,lastwrit...