国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發(fā) > PowerShell > 正文

PowerShell中使用正則和ValidateSet驗(yàn)證參數(shù)合法性

2020-10-29 20:58:25
字體:
供稿:網(wǎng)友

適用于PowerShell 2.0或著更高版本

當(dāng)你使用PowerShell 創(chuàng)建了一個(gè)函數(shù)時(shí),要確保你告訴PowerShell 你的參數(shù)期望什么樣的值。比如你想用戶輸入星期

復(fù)制代碼 代碼如下:

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

此時(shí)用戶可以輸入任何值,即使這個(gè)值不是一個(gè)合法的星期,比如星期七
復(fù)制代碼 代碼如下:

PS> Get-Weekday -Weekday NoWeekday
You chose NoWeekday

也許你之前還見過正則表達(dá)式類型的驗(yàn)證方式:

復(fù)制代碼 代碼如下:

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

現(xiàn)在一旦用戶輸入的字符串與你指定的模式不匹配時(shí),Powershell會(huì)拋出一個(gè)異常,但是這個(gè)異常信息不夠友好。在輸出參數(shù)時(shí),控制臺(tái)或著ISE編輯器也不能智能提示:

所以更好的方式應(yīng)當(dāng)是使用ValidateSet:

復(fù)制代碼 代碼如下:

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

現(xiàn)在用戶在輸出參數(shù)時(shí)被限定在你規(guī)定的值集合中,另外在ISE中還會(huì)智能提示用戶允許的值列表。如果你能在.NET的類型中找到一個(gè)枚舉值剛好描述你需要的參數(shù),那就更易如反掌了:
復(fù)制代碼 代碼如下:

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

發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 云和县| 芦溪县| 合江县| 门源| 且末县| 许昌县| 体育| 清丰县| 长白| 日照市| 林甸县| 醴陵市| 理塘县| 天水市| 肇源县| 得荣县| 库伦旗| 娄烦县| 新巴尔虎左旗| 洪洞县| 安徽省| 资兴市| 宁城县| 诸暨市| 马山县| 正定县| 尤溪县| 桃园县| 乌拉特中旗| 汕头市| 永定县| 镇赉县| 阳泉市| 衡水市| 北宁市| 辰溪县| 雷州市| 宾川县| 新河县| 乌拉特中旗| 华阴市|