Powershell 函式和管道總結

2022-09-06 11:42:19 字數 1816 閱讀 4487

函式

在定義函式時需要申明函式需要接收的引數個數,型別,順序。在powershell中有乙個**的形參args,即使在申明函式時沒有申明形參,也可以使用這個引數來取值。

–實參實參就是呼叫函式過程中給函式傳入的實際引數值,引數傳遞過程中必須按照形參定義的順序,個數和型別來傳入。

違背型別的引數會造成一些編譯異常。

實參傳遞過程中,如果超出形參個數,則這部分的引數將被args接收。

在powershell中傳遞引數還可以指定引數名進行傳播。

例如:test -a 1 -b 2

–變數的作用域

全域性變數和區域性變數,區域性變數只能在申明的函式內部使用,而全域性變數可以在整個程式範圍內訪問。呼叫函式時,所有在函式內申明的變數名稱都將被加入到作用域中。

在powershell中,使用管道符號(|)來劃分管道中的每個命令

1.where-object:過濾列表項或命令輸出結果,從列表或者命令輸出結果中過濾選擇你需要的專案。

{}表示乙個指令碼塊,可以輸入一系列powershell命令,其中$_代表當前輸入物件,在這個例子中,$_就代表乙個檔案專案。-gt是比較操作符,意思是大於。get-childitem   獲取當前路徑的所有專案

foreach 迴圈獲得的資料 然後每一項乘以10 

3.select-object:物件可以選擇乙個物件或者一組物件的指定屬性。還可以從物件的陣列中選擇唯一的物件,也可以從物件陣列的開頭或末尾選擇指定個數的物件。

4.sort-object:對列表項或者輸出結果進行排序,可以按照特定屬性值對物件進行排序

-descending 為降序 預設sort-object 為公升序 

5.tee-object儲存並輸出列表項或者輸出結果

-filepath 把得到的結果儲存在乙個檔案裡   -variable儲存在乙個變數中

6.group-object :對列表項或者輸出結果進行分組,指定的屬性包含相同值的組物件。group-object 返回乙個表,其中每個屬性值對應一行,同時乙個列顯示具有該值的專案數。

7.out-file:將輸出結果輸出到檔案

8.驗證檔案的型別

(get-item $filebasepath) -is [io.fileinfo]

power shell函式與管道

1 where object 過濾列表項或命令輸出結果 get childitem where object 瀏覽目錄,篩選檔案大小小於等900b get childitem where object 瀏覽目錄,篩選檔案匹配 工具 2 foreach object 處理列表或者命令輸出的每乙個專案 ...

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 過濾列...