PowerShell函数中限制数组参数个数的例子

 更新时间:2014年07月31日 09:28:28   投稿:junjie  
这篇文章主要介绍了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中查询错误编号信息的2个方法

    PowerShell中查询错误编号信息的2个方法

    这篇文章主要介绍了PowerShell中查询错误编号信息的2个方法,本文介绍使用net.exe、winrm.exe完成这个需求,其中推荐使用winrm.exe,需要的朋友可以参考下
    2014-08-08
  • Windows Powershell排序和分组管道结果

    Windows Powershell排序和分组管道结果

    本文通过实例,详细介绍了Powershell如何对管道结果进行排序和分组,非常的实用,有需要的朋友可以参考下
    2014-09-09
  • PowerShell中使用正则表达式筛选数组实例

    PowerShell中使用正则表达式筛选数组实例

    这篇文章主要介绍了PowerShell中使用正则表达式筛选数组实例,使用match操作符配合相应正则表达式实现数组筛选功能,需要的朋友可以参考下
    2014-07-07
  • Powershell打印文本文档例子

    Powershell打印文本文档例子

    这篇文章主要介绍了Powershell打印文本文档例子,本文相对简单,默认给出的是打印系统日志文件,使用时要替换成自己想打印的文件,需要的朋友可以参考下
    2014-11-11
  • Powershell小技巧--远程对比服务配置

    Powershell小技巧--远程对比服务配置

    这篇文章主要介绍了使用Powershell远程对比服务配置的方法,大家可以推广下获取服务器其他参数进行对比,希望对大家能有所帮助
    2014-09-09
  • 用PowerShell代替批处理吧!

    用PowerShell代替批处理吧!

    这篇文章主要介绍了用PowerShell代替批处理吧!本文讲解了批处理文件的历史、Windows NT 和 Cmd.exe、Windows Script 主机、进入 Windows PowerShell、为什么是时候停止写批处理了等内容,需要的朋友可以参考下
    2015-03-03
  • Powershell截取字符串并添加省略号的例子

    Powershell截取字符串并添加省略号的例子

    这篇文章主要介绍了Powershell截取字符串并添加省略号的例子,本文直接给出代码实例,需要的朋友可以参考下
    2015-01-01
  • PowerShell小技巧之观察UNC路径

    PowerShell小技巧之观察UNC路径

    UNC(Universal Naming Convention)通用命名规则,也称通用命名规范、通用命名约定。UNC路径就是类似\\softer这样的形式的网络路径。
    2014-09-09
  • Powershell中调用邮件客户端发送邮件的例子

    Powershell中调用邮件客户端发送邮件的例子

    这篇文章主要介绍了Powershell中调用邮件客户端发送邮件的例子,需要的朋友可以参考下
    2014-05-05
  • Windows Powershell  IF-ELSEIF-ELSE 语句

    Windows Powershell IF-ELSEIF-ELSE 语句

    作为条件判断,if语句是各大语言都在使用的,当然powershell也不例外,今天我们就来看下IF-ELSEIF-ELSE 语句
    2014-10-10

最新评论