PowerShell函数中限制数组参数个数的例子
本文介绍PowerShell自定义函数时,可以使用数组来传递多个参数。数组传递参数时,参数个数本身无法限制,PowerShell函数提供了一个方法来限制数组中参数的个数。
PowerShell函数可以接受数组作为输入参数。而且不需要将数组定义好后再传给PowerShell函数,而可以直接将一个逗号分隔的字符串数组当作参数来传递,如:Add-User -UserName 'splaybow1','splaybow2','splaybow3'。这个函数的定义如下:
function Add-User { param ( [String[]] $UserName ) $UserName | ForEach-Object { “Adding $_” } }
函数调用时如下:
PS> Add-User -UserName 'Tobias' Adding Tobias PS> Add-User -UserName 'Tobias', 'Nina', 'Cofi' Adding Tobias Adding Nina Adding Cofi
数组元素后面可以再跟上千儿八百个,但这样不安全,我们得要参数PowerShell函数定义时来做出一些限制。
function Add-User { param ( [ValidateCount(1,3)] [String[]] $UserName ) $UserName | ForEach-Object { “Adding $_” } }
注意函数中使用了“[ValidateCount(1,3)]”这句,这表示可以接受的参数个数是1-3之间,即1个、2个、3个都可以。但不能超了,也不能少了。
PS> Add-User -UserName 'Tobias', 'Nina' Adding Tobias Adding Nina PS> Add-User -UserName 'Tobias', 'Nina', 'Cofi', 'splaybow' Add-User : Cannot validate argument on parameter 'UserName'. The number of provided arguments, (4), exceeds the maximum number of allowed arguments (3). Provide fewer than 3 arguments, and then try the command again.
上面第二个测试用例就提示:函数最大可接受的参数个数为3,而我们实际传了4个,所以失败了。
关于PowerShell函数限制数组参数个数,本文就介绍这么多,希望对您有所帮助,谢谢!
PowerShell函数参数设置为即可选又必选的方法
本文介绍PowerShell自定义函数中使用参数集时,可以将同一个参数既设置为可选,又设置为必选。好吧,小编承认,这个话题有点无聊,但确实还是有点
PowerShell函数参数设置成自动识别数据类型的例子
本文介绍PowerShell自定义函数中使用参数集时,怎么设置系统自动识别参数的数据类型。识别参数类型的一个好处就是,在使用参数集时,不需要每次都
PowerShell函数实现类似重载功能实例
本文介绍PowerShell自定义函数是否支持重载,如果支持,如何重载?如果不支持,如何实现与重载相似的效果?郑重声明:PowerShell自定义函数不支持重载