PowerShell-自定義函數(三)-強制參數:Mandatory

經過前面兩篇介紹,應該可以寫出一個最簡單的Function了.但隨着使用的深入,很快就會感覺到力不從心.

因爲基礎的Function是在是感覺太Low了,跟官方的或是人家寫出來的比起來...功能弱雞.逼格不高.

那麼爲了強化我們的Function,讓逼格高起來.從這一篇開始講解進階一些的功能.

 

目標:

1.輸入姓名和年齡後,直接在顯示 某某 今年 多少 歲 .

2.強制使用Name參數.

 

示例:

Function Test-Function {
    Param      
        (       
        [parameter(Mandatory=$true)]$Name,       
        $Age = "18"       
        )
    Write-Host "$Name 今年 $Age 歲."      
}


 

說明:

與上篇文章中相比,我們在Name參數的前面加上了一些關鍵字"[parameter(Mandatory=$true)]",包括後面還會介紹一些針對參數的設定,都是寫在"parameter( )"裏面

在這一篇裏,我們設定了Mandatory=$true來表示,在使用這個Function的時候必須要使用Name參數.因爲從我們的目標來看,如果不使用Name的參數的話那就會顯示成"(空白) 今年 多少歲"這顯然是不合適的.

 

運行結果:

image

可以看到,我在不指定任何參數的情況下運行了Test-Function,但PowerShell提示我要爲Name參數提供一個值.直到我提供了Name的值以後,這個Function才得以正常的運行下去.

這樣,就達到我們 要求指定一個人名的情況下才能執行 的目的.當然如果你一開始就老老實實的爲Name賦值了是可以順暢運行下去的.

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章