主页 > 知识库 > PowerShell中使用正则和ValidateSet验证参数合法性

PowerShell中使用正则和ValidateSet验证参数合法性

热门标签:湖州电销防封卡 安徽400电话办理 信阳话务外呼系统怎么收费 电话智能外呼系统诚信合作 真人和电话机器人对话 雷霆电话机器人电话 什么渠道可以找外呼系统客户 使用电话机器人电销是否违法 金融电销公司怎么办理外呼系统

适用于PowerShell 2.0或着更高版本

当你使用PowerShell 创建了一个函数时,要确保你告诉PowerShell 你的参数期望什么样的值。比如你想用户输入星期

复制代码 代码如下:

function Get-Weekday
{
  param
  (
    $Weekday
  )
  
  "You chose $Weekday"
}

此时用户可以输入任何值,即使这个值不是一个合法的星期,比如星期七
复制代码 代码如下:

PS> Get-Weekday -Weekday NoWeekday
You chose NoWeekday

也许你之前还见过正则表达式类型的验证方式:

复制代码 代码如下:

function Get-Weekday
{
param
(
[ValidatePattern('Monday|Tuesday|Wednesday|Thursday|Friday|Saturday|Sunday')]
$Weekday
)
 
"You chose $Weekday"
}

现在一旦用户输入的字符串与你指定的模式不匹配时,Powershell会抛出一个异常,但是这个异常信息不够友好。在输出参数时,控制台或着ISE编辑器也不能智能提示:

所以更好的方式应当是使用ValidateSet:

复制代码 代码如下:

function Get-Weekday
{
param
(
[ValidateSet('Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday', 'Sunday')]
$Weekday
)
 
"You chose $Weekday"
}

现在用户在输出参数时被限定在你规定的值集合中,另外在ISE中还会智能提示用户允许的值列表。如果你能在.NET的类型中找到一个枚举值刚好描述你需要的参数,那就更易如反掌了:
复制代码 代码如下:

function Get-Weekday
{
param
(
[System.DayOfWeek]
$Weekday
)
 
"You chose $Weekday"
}

您可能感兴趣的文章:
  • Shell时间(date)相关命令
  • linux shell实现随机数几种方法分享(date,random,uuid)
  • PowerShell中iso8601格式日期和DateTime对象互转实例
  • Shell脚本实现随机数多种方法介绍(date、random、uuid)
  • Powershell小技巧之使用Update-TypeData扩展类型系统
  • PowerShell中使用Get-Date获取日期时间并格式化输出的例子
  • PowerShell中Get-Date对象的常用属性和方法介绍
  • shell语言date的用法实例

标签:湛江 运城 岳阳 鹤岗 六盘水 济南 德州 山南

巨人网络通讯声明:本文标题《PowerShell中使用正则和ValidateSet验证参数合法性》,本文关键词  PowerShell,中,使用,正则,和,;如发现本文内容存在版权问题,烦请提供相关信息告之我们,我们将及时沟通与处理。本站内容系统采集于网络,涉及言论、版权与本站无关。
  • 相关文章
  • 下面列出与本文章《PowerShell中使用正则和ValidateSet验证参数合法性》相关的同类信息!
  • 本页收集关于PowerShell中使用正则和ValidateSet验证参数合法性的相关信息资讯供网民参考!
  • 推荐文章