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

所属分类: 脚本专栏 / PowerShell 阅读数: 466
收藏 0 赞 0 分享

本文介绍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的正则表达式与微软其它语言的正则表达式是一样的,使用非常方便。
收藏 0 赞 0 分享

Windows Powershell 介绍和安装

Powershell 是运行在windows机器上实现系统和应用程序管理自动化的命令行脚本环境。微软之所以将Powershell 定位为Power,并不是夸大其词,因为它完全支持对象。其可读性,易用性,可以位居当前所有shell之首。
收藏 0 赞 0 分享

Windows Powershell 自定义控制台

这篇文章主要介绍了Windows Powershell 自定义控制台,包括选项、字体、布局和颜色四个方面的自定义风格,希望对大家有所帮助
收藏 0 赞 0 分享

windows Powershell 快速编辑模式和标准模式

powershell控制台有两种模式,一个是快速编辑模式,一个是标准模式。
收藏 0 赞 0 分享

PowerShell中查找字符串位置的IndexOf函数使用实例

这篇文章主要介绍了PowerShell中查找字符串位置的IndexOf函数使用实例,例子简单明了,容易看懂,需要的朋友可以参考下
收藏 0 赞 0 分享

PowerShell使用正则表达式查找字符串实例

这篇文章主要介绍了PowerShell使用正则表达式查找字符串实例,主要是对match运算符的使用介绍,需要的朋友可以参考下
收藏 0 赞 0 分享

PowerShell中使用正则表达式跨行匹配字符串的方法

这篇文章主要介绍了PowerShell中使用正则表达式跨行匹配字符串的方法,重点在于正则表达式的写法,需要的朋友可以参考下
收藏 0 赞 0 分享

PowerShell中查看当前版本、Windows版本、.NET版本信息的代码

这篇文章主要介绍了PowerShell中查看当前版本、Windows版本、.NET版本信息的代码,需要的朋友可以参考下
收藏 0 赞 0 分享

PowerShell 入门基础教程

Windows PowerShell 是专为系统管理员设计的新 Windows 命令行外壳程序。该外壳程序包括交互式提示和脚本环境,两者既可以独立使用也可以组合使用
收藏 0 赞 0 分享

PowerShell Contains函数查找字符串实例

这篇文章主要介绍了PowerShell Contains函数查找字符串实例,Contains函数的作用是查询一个字符串中是否存在另一个字符串,需要的朋友可以参考下
收藏 0 赞 0 分享
查看更多