麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 開發 > PowerShell > 正文

PowerShell中使用正則和ValidateSet驗證參數合法性

2020-05-30 20:19:22
字體:
來源:轉載
供稿:網友

適用于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"
}

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 亚洲成人综合网站 | 国产午夜探花 | 精品国产91一区二区三区 | 国产亚洲精品久久久久久久久久 | 欧美成年人视频在线观看 | 49vvv| 日本欧美一区二区 | 日韩黄在线 | 亚洲免费永久 | 国产三级三级三级三级 | av在线官网 | 女人久久久www免费人成看片 | 久久99久久99免费视频 | 婷婷一区二区三区 | 婷婷中文字幕一区二区三区 | 2021av视频| 久久久久久久久久久久久久av | 深夜小视频在线观看 | 日韩欧美精品电影 | 欧美一级在线免费 | 国产一区二区三区影视 | 一级做a爱片性色毛片高清 国产精品色在线网站 | 久久久久久久久浪潮精品 | 黄色免费高清网站 | 黄污视频在线看 | 久草视频国产在线 | 7777视频 | 91精品国| 妇女毛片 | 精品亚洲夜色av98在线观看 | 免费在线观看国产精品 | 国产二三区 | 91av在线免费播放 | 91麻豆精品国产91久久久无需广告 | 色av综合在线 | 久久99精品久久久久久久久久久久 | 精品一区二区三区毛片 | 欧美日韩电影 | 久久华人 | h视频免费观看 | 在线播放黄色片 |