首页 > 代码库 > PowerShell-自定义函数(四)-位置参数:Position
PowerShell-自定义函数(四)-位置参数:Position
这一篇我们来讲一下位置参数.什么是位置参数呢?直白点说就是只要你按照一定的顺序输入值,而不需要特别去把参数写出来.
例如我们用的Get-Service BITS 就直接可以获取到BITS服务的信息,而完整的写法应该是:Get-Service -Name BITS .这种效果我们就可以使用位置参数来做到.
因为Get-Service的第1位置参数是-Name,所以我们把-Name省略掉,直接填写服务名BITS也能正确的运行.
使用位置参数可以减少我们重复输入参数名的代码输入量,加快我们操作的速度.
目标
1.输入姓名和年龄后,直接在显示 某某 今年 多少 岁 .
2.强制使用Name参数.
3.指定Name为第1位置参数,Age为第2位置参数.
示例:
Function Test-Function { Param ( [parameter( Mandatory = $true, Position = 0 )] $Name, [parameter( Position = 1 )] $Age = "18" ) Write-Host "$Name 今年 $Age 岁." }
说明:
与上篇文章中相比,我们将Name的位置指定为第1个,给Age参数也加上了位置参数并指定为第2个.这里注意一下是顺序是从0开始.0代表第1个,1代表第二个,依此类推.
运行结果:
可以看到我并没有指定彪锅和20分别由哪个参数来接受,但PowerShell根据位置参数正确的将他们赋予至我们希望的参数之中.
但还有一个问题,也许我刚刚写的时候我还能够记得,Name是第1个参数,Age是第2个参数.但过一段时间以后,不至于要去翻代码看才知道吧?那太麻烦了.
这个时候就可以祭出Get-Help这个大杀器了.PowerShell会自动的帮我们生成一些简单的帮助信息,如下:
图中我们可以看到在参数的帮助信息中,PowerShell为我们列出了第个参数的位置信息.Name位置是0代表是第1个参数.Age位置是1代码是第2个参数.上一篇所讲的的强制参数在这里也有显示.
至于其他的参数设置,后续会继续为大家进行说明.(如果我能坚持写完这个系列不烂尾的话...)
好了,下一篇会为大家更新一个重要的功能:如何让Function支持从管道"|"接受数据并进行处理.
本文出自 “彪锅” 博客,谢绝转载!
PowerShell-自定义函数(四)-位置参数:Position