PowerShell函数限制数组参数个数

2022-10-07 0 842

前言:

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 函数限制数组参数个数

收藏 (0)

微信支付 微信扫一扫

支付宝支付 支付宝扫一扫

点赞 (0)

站长资源下载中心-找源码上汇站

PowerShell函数限制数组参数个数
下一篇:

已经没有下一篇了!

常见问题
  • 如果付款后没有弹出下载页面,多刷新几下,有问题联系客服!
查看详情
  • 本站所有资源版权均属于原作者所有,这里所提供资源均只能用于参考学习用,请勿直接商用。若由于商用引起版权纠纷,一切责任均由使用者承担。
查看详情

相关文章

联系官方客服

为您解决烦忧 - 24小时在线 专业服务