• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • vbs
  • DOS/BAT
  • hta/htc
  • python
  • perl
  • VBA
  • ColdFusion
  • ruby
  • PowerShell
  • Lua
  • Golang
  • linux shell
您的位置:首页 > 脚本语言 >PowerShell > PowerShell中使用正则和ValidateSet验证参数合法性

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

作者:junjie 字体:[增加 减小] 来源:互联网

junjie 通过本文主要向大家介绍了powershell 参数,powershell,windows powershell,powershell是什么,powershell下载等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com

适用于PowerShell 2.0或着更高版本

当你使用PowerShell 创建了一个函数时,要确保你告诉PowerShell 你的参数期望什么样的值。比如你想用户输入星期
function Get-Weekday
{
  param
  (
    $Weekday
  )
  
  "You chose $Weekday"
}
</div>
此时用户可以输入任何值,即使这个值不是一个合法的星期,比如星期七
PS> Get-Weekday -Weekday NoWeekday
You chose NoWeekday
</div>
也许你之前还见过正则表达式类型的验证方式:

function Get-Weekday
{
param
(
[ValidatePattern('Monday|Tuesday|Wednesday|Thursday|Friday|Saturday|Sunday')]
$Weekday
)
 
"You chose $Weekday"
}
</div>
现在一旦用户输入的字符串与你指定的模式不匹配时,Powershell会抛出一个异常,但是这个异常信息不够友好。在输出参数时,控制台或着ISE编辑器也不能智能提示:

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

function Get-Weekday
{
param
(
[ValidateSet('Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday', 'Sunday')]
$Weekday
)
 
"You chose $Weekday"
}
</div>
现在用户在输出参数时被限定在你规定的值集合中,另外在ISE中还会智能提示用户允许的值列表。如果你能在.NET的类型中找到一个枚举值刚好描述你需要的参数,那就更易如反掌了:
function Get-Weekday
{
param
(
[System.DayOfWeek]
$Weekday
)
 
"You chose $Weekday"
}
</div>

</div>

您可能想查找下面的文章:

  • PowerShell实现参数互斥示例
  • Powershell互斥参数使用实例
  • PowerShell中使用正则和ValidateSet验证参数合法性
  • PowerShell中对函数参数的命名建议
  • PowerShell定义函数参数的2种方法和传参方法实例
  • PowerShell函数参数指定数据类型实例
  • PowerShell函数中使用必选参数实例
  • PowerShell函数参数用星号隐藏的方法
  • PowerShell函数中限制数组参数个数的例子
  • PowerShell函数中把参数传入另一个函数的函数传参例子

相关文章

  • PowerShell脚本开发之批量扫描IP和端口
  • Powershell小技巧之使用Update-TypeData扩展类型系统
  • PowerShell调用Web测试工具Selenium实例
  • PowerShell 入门基础教程
  • PowerShell小技巧之获取Windows系统密码Hash
  • Powershell小技巧之通过EventLog查看近期电脑开机和关机时间
  • 简单谈谈PowerShell 4.0中的新命令
  • Powershell中使用WMI工具例子
  • PowerShell实现测试端口可用性脚本分享
  • Powershell小技巧之获取对象可变的特征

文章分类

  • vbs
  • DOS/BAT
  • hta/htc
  • python
  • perl
  • VBA
  • ColdFusion
  • ruby
  • PowerShell
  • Lua
  • Golang
  • linux shell

最近更新的内容

    • PowerShell查找分区中最大文件的方法(查找文件并按大小排序)
    • Windows Powershell ForEach-Object 循环
    • Windows Powershell Do While 循环
    • Powershell检查网站响应并计算执行时间例子
    • PowerShell函数中把参数传入另一个函数的函数传参例子
    • PowerShell脚本源码输出到文件的最佳写法
    • PowerShell入门教程之PowerShell有什么用?
    • PowerShell 读取性能计数器二进制文件(.blg)记录并汇总计算
    • PowerShell命令中包含空格如何运行?
    • PowerShell脚本实现添加、修改任务计划的例子

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有