首页 > 代码库 > PowerShell-自定义函数(三)-强制参数:Mandatory

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的参数的话那就会显示成"(空白) 今年 多少岁"这显然是不合适的.

 

运行结果:

技术分享

可以看到,我在不指定任何参数的情况下运行了Test-Function,但PowerShell提示我要为Name参数提供一个值.直到我提供了Name的值以后,这个Function才得以正常的运行下去.

这样,就达到我们 要求指定一个人名的情况下才能执行 的目的.当然如果你一开始就老老实实的为Name赋值了是可以顺畅运行下去的.

本文出自 “彪锅” 博客,谢绝转载!

PowerShell-自定义函数(三)-强制参数:Mandatory