這一篇咱們來說一下位置參數.什麼是位置參數呢?直白點說就是隻要你按照必定的順序輸入值,而不須要特別去把參數寫出來.ide
例如咱們用的Get-Service BITS 就直接能夠獲取到BITS服務的信息,而完整的寫法應該是:Get-Service -Name BITS .這種效果咱們就可使用位置參數來作到.blog
由於Get-Service的第1位置參數是-Name,因此咱們把-Name省略掉,直接填寫服務名BITS也能正確的運行.get
使用位置參數能夠減小咱們重複輸入參數名的代碼輸入量,加快咱們操做的速度.it
目標io
1.輸入姓名和年齡後,直接在顯示 某某 今年 多少 歲 .class
2.強制使用Name參數.im
3.指定Name爲第1位置參數,Age爲第2位置參數.top
示例:img
Function Test-Function { Param ( [parameter( Mandatory = $true, Position = 0 )] $Name, [parameter( Position = 1 )] $Age = "18" ) Write-Host "$Name 今年 $Age 歲." }
說明:di
與上篇文章中相比,咱們將Name的位置指定爲第1個,給Age參數也加上了位置參數並指定爲第2個.這裏注意一下是順序是從0開始.0表明第1個,1表明第二個,依此類推.
運行結果:
能夠看到我並無指定彪鍋和20分別由哪一個參數來接受,但PowerShell根據位置參數正確的將他們賦予至咱們但願的參數之中.
但還有一個問題,也許我剛剛寫的時候我還可以記得,Name是第1個參數,Age是第2個參數.但過一段時間之後,不至於要去翻代碼看才知道吧?那太麻煩了.
這個時候就能夠祭出Get-Help這個大殺器了.PowerShell會自動的幫咱們生成一些簡單的幫助信息,以下:
圖中咱們能夠看到在參數的幫助信息中,PowerShell爲咱們列出了第個參數的位置信息.Name位置是0表明是第1個參數.Age位置是1代碼是第2個參數.上一篇所講的的強制參數在這裏也有顯示.