PowerShell系列(十一):PowerShellCmdlet高級參數介紹(一)

科技技術前後端 2024-01-05 05:33:06

今天給大家講解PowerShell Cmdlet高級參數相關的知識,希望對大家學習PowerShell能有所幫助!

1、什麽是高級參數

所謂的高級參數就是針對那些可以完成執行命令之外還可以提供其他高級功能的參數(比如顯示執行命令的信息、針對錯誤信息的處理方式、命令出現警告情況的處理方式等等)。使用較多的是New、Set、Remove等動詞命令支持高級參數的命令方式。下面給大家逐一介紹這些高級參數。

2、Verbose 參數

Verbose 參數主要用來顯示函數執行過程中通過Write-Verbose寫入的相關信息,如果命令執行當中有寫入則會有反饋信息輸出,反之則沒有任何信息輸出。

輸入如下命令

get-childitemget-childitem -verbose

可以看到兩者輸出的信息是一樣的,表明函數執行過程沒有寫入相關信息。

再執行創建文件命令

額外輸出信息

詳細信息: 正在目標“目標: D:\logs\端午節2.txt”上執行操作“創建文件”。

總結:針對獲取操作的命令函數執行過程一般沒有寫入相關信息。對應操作命令函數(新建、修改、刪除)一般都會有信息寫入。

3、Debug參數

Debug參數主要用來顯示函數執行過程中通過Write-Debug寫入的相關信息,該參數默認是不啓用的,需要通過執行命令當中增加 -Debug 參數來啓用。

和Verbose類似,如果沒有相應的調試信息輸出,也不會輸出任何信息,如果開啓該參數後,命令執行過程中涉及到參數調試,輸出的結果都會停下來等待人爲幹預是否執行下一步。這個和程序員平常的代碼調試比較相似,只是不能一次性看到所有的執行代碼罷了。

具體如下圖

創建一個文件,增加-debug 參數會有確認提示,反之則沒有。

PS D:\logs> remove-item 端午節2.txt -debug確認是否確實要執行此操作?正在目標“D:\logs\端午節2.txt”上執行操作“刪除文件”。[Y] 是(Y) [A] 全是(A) [N] 否(N) [L] 全否(L) [S] 暫停(S) [?] 幫助 (默認值爲“Y”): yPS D:\logs> new-item 端午節2.txt 目錄: D:\logsMode LastWriteTime Length Name---- ------------- ------ -----a---- 2023/6/24 7:23 0 端午節2.txtPS D:\logs> remove-item 端午節2.txt

4、ErrorAction 參數

ErrorAction 參數主要用來指定命令和腳本執行出現錯誤後的操作,對于PowerShell環境全局默認使用ErrorActionPreference參數指定出現錯誤後的操作,我們可以通過ErrorAction參數覆蓋默認的參數,從而滿足我們的使用要求。

ErrorAction 針對出錯命令提供的操作方式

● Continue:錯誤信息記錄到$Error變量,命令繼續往下執行。

● Ignore:忽略錯誤繼續往下執行,並且不記錄錯誤信息。

● Inquire:執行報錯後,詢問用戶是否繼續執行,錯誤信息會記錄到$Error變量。

● SlientContinue:命令執行出錯,既不停止執行也不顯示錯誤信息,錯誤信息也會被記錄到$Error變量。

● Stop:命令執行出錯立即停止執行,不會繼續執行後續代碼。

下面舉個例子,這裏來刪除一個不存在的文件

首先執行

remove-item 端午節2.txt -ErrorAction Ignore

因爲這裏指定的是Ignore參數,不會輸出錯誤信息也不會記錄到$Error變量裏面去。

然後再執行

remove-item 端午節2.txt -ErrorAction Continue

輸出如下錯誤信息

remove-item : 找不到路徑“D:\logs\端午節2.txt”,因爲該路徑不存在。所在位置 行:1 字符: 1+ remove-item 端午節2.txt -ErrorAction Continue+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + CategoryInfo : ObjectNotFound: (D:\logs\端午節2.txt:String) [Remove-Item], ItemNotFoundException + FullyQualifiedErrorId : PathNotFound,Microsoft.PowerShell.Commands.RemoveItemCommand

再執行$Error命令

$Error

輸出了錯誤信息

remove-item : 找不到路徑“D:\logs\端午節2.txt”,因爲該路徑不存在。所在位置 行:1 字符: 1+ remove-item 端午節2.txt -ErrorAction Continue+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + CategoryInfo : ObjectNotFound: (D:\logs\端午節2.txt:String) [Remove-Item], ItemNotFoundException + FullyQualifiedErrorId : PathNotFound,Microsoft.PowerShell.Commands.RemoveItemCommand

具體執行可以查看如下截圖

當然其他情況大家可以自己動手操作試試看!下篇文章會繼續介紹另外的高級參數。

0 阅读:0

科技技術前後端

簡介:感謝大家的關注