PowerShell 系列之 PowerShell CmdletPowerShell Cmdlet 參數詳解
今天給大家講解PowerShell Cmdlet參數相關的知識,希望對大家學習PowerShell能有所幫助!
Cmdlet參數是進行執(zhí)行操作、獲取數據中的屬性定義,然后根據屬性定義獲取對應屬性的結果和執(zhí)行對應的操作。根據類型的使用場景主要劃分下面四種參數類型。
一、強制類型參數
使用頻率最高,主要用于特定屬性的定義。
強制類型參數使用比較頻繁,基本上涉及新建、更新、配置等命令都需要針對特定的對應進行操作,所有需要強制輸入一個參數來確認操作的對象是誰。
比如新建一個文件的時候,需要指定文件名,這個時候文件名就是強制類型參數,如果沒有指定文件名,執(zhí)行命令就會報錯。
比如下面的例子。
我們打開PowerShell,然后輸入 New-Item 命令。
會提示:
位于命令管道位置 1 的 cmdlet New-Item
請為以下參數提供值:
Path[0]:
這個時候我們不輸入參數,直接點擊回車按鈕,會提示如下錯誤。
New-Item : 無法將參數綁定到參數“Path”,因為該參數為空數組。
所在位置 行:1 字符: 1
+ New-item
+ ~~~~~~~~
+ CategoryInfo : InvalidData: (:) [New-Item],ParameterBindingValidationException
+ FullyQualifiedErrorId : ParameterArgumentValidationErrorEmptyArrayNotAllowed,Microsoft.PowerShell.Commands.NewIt
emCommand
接著我們重新輸入New-item 命令,然后輸入參數:test0622.txt ,然后點擊回車按鈕,然后第二個參數我們不進行輸入,之金額點擊回車按鈕,則沒有報錯,文件正常創(chuàng)建成功。
這個可以說明:第一個參數是強制輸入參數,第二個參數非強制輸入參數。
具體可以看下面的截圖。
二、Named類型的命名參數
Named類型的命名參數是進行相關屬性設置的必要參數。
比如執(zhí)行如下命令:
New-Item -name test0622new.txt -path d:\log -itemtype file
參數說明:
- name :指定對象名稱,本次就是文件名 test0622new.txt。
- path:指定文件存儲路徑,d:\log。
- itemtype:定義對象的類型。
三、Switch開關參數
基于開關參數定義,主要用于二元操作。如果命令當中帶上了Switch參數就表示開啟屬性定義,反之則不開啟這個屬性定義。如果一個參數是開關類型,在執(zhí)行過程中可以通過 - 參數 來開啟屬性定義,否則表示不開啟該屬性定義。
get-help get-childitem -parameter *
具體展示如下圖:
CodeSigningCert <System.Management.Automation.SwitchParameter> 表示為開關類型的數據。
示例:
D盤創(chuàng)建一個logs文件夾,文件夾內容如下圖:
首先獲取文件夾內容。
get-childitem
執(zhí)行結果如下圖:
這里增加Recurse參數,這個參數可以實現下一級文件夾的遞歸訪問,命令如下:
get-childitem -Recurse
執(zhí)行結果如下圖:
說明:針對開關函數,不需要去指定 true 和false ,如果加上 -參數,表示為true,如果執(zhí)行命令不增加參數,表示為false,不啟用該參數的定義。
四、Position位置參數
Position位置參數主要用于參數集位置定義的類型,參數的屬于與位置有關,判斷一個命令是否支持Position參數。通過查詢幫助命令的具體參數可以了解該命令是否有支持位置定義的函數。如下圖的Path參數就是支持位置定義的參數。
但是在大部分場景當中不建議使用位置參數進行參數指定,如果沒有參數值或沒有按照位置設置參數,執(zhí)行命令非常容易出錯。