欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

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

 更新時(shí)間:2015年04月11日 09:25:36   投稿:junjie  
這篇文章主要介紹了PowerShell中使用正則和ValidateSet驗(yàn)證參數(shù)合法性,本文分別給出了驗(yàn)證實(shí)例,講解如何驗(yàn)證參數(shù)的正確性,需要的朋友可以參考下

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

也許你之前還見過(guò)正則表達(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"
}

相關(guān)文章

  • Shell?中常用?Date?日期的計(jì)算

    Shell?中常用?Date?日期的計(jì)算

    這篇文章主要為大家介紹了Shell中常用Date日期的計(jì)算詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-06-06
  • Windows Powershell分析和比較管道結(jié)果

    Windows Powershell分析和比較管道結(jié)果

    這篇文章主要介紹了Windows Powershell分析和比較管道結(jié)果,需要的朋友可以參考下
    2014-09-09
  • Powershell小技巧之使用Update-TypeData擴(kuò)展類型系統(tǒng)

    Powershell小技巧之使用Update-TypeData擴(kuò)展類型系統(tǒng)

    昨天演示獲取時(shí)辰《PowerShell獲取當(dāng)前的時(shí)辰 》,并不只是為了獲取時(shí)辰,還為了使用Update-TypeData命令將時(shí)辰這一屬性,牢牢地幫到DateTime類型上。
    2014-09-09
  • Powershell小技巧之屏蔽輸出結(jié)果

    Powershell小技巧之屏蔽輸出結(jié)果

    這篇文章主要介紹了Powershell的一個(gè)小技巧--屏蔽輸出結(jié)果,需要的朋友可以參考下
    2014-09-09
  • 類似rpm包管理器的Windows Installer PowerShell Module簡(jiǎn)介

    類似rpm包管理器的Windows Installer PowerShell Module簡(jiǎn)介

    前兩篇文章分享了使用PowerShell安裝Window程序的一些技巧。但是都是基于兼容已有命令行的調(diào)用。今天分享一個(gè)第三方組件,讓你直接可以使用Cmdlet命令來(lái)查詢,安裝,修復(fù)Windows程序
    2014-05-05
  • PowerShell中字符串使用單引號(hào)和雙引號(hào)的區(qū)別

    PowerShell中字符串使用單引號(hào)和雙引號(hào)的區(qū)別

    這篇文章主要介紹了PowerShell中字符串使用單引號(hào)和雙引號(hào)的區(qū)別,大家可能會(huì)經(jīng)常遇到這個(gè)問題,需要的朋友可以參考下
    2014-08-08
  • Powershell中獲取所有磁盤盤符的方法

    Powershell中獲取所有磁盤盤符的方法

    這篇文章主要介紹了Powershell中獲取所有磁盤盤符的方法,本文直接給出實(shí)現(xiàn)代碼,需要的朋友可以參考下
    2015-04-04
  • powershell常用命令分類

    powershell常用命令分類

    本文創(chuàng)建了powershell常用命令 ,主要分為get類、set類、write類三大類,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2014-10-10
  • PowerShell是什么?

    PowerShell是什么?

    這篇文章主要介紹了PowerShell是什么?本文解讀了PowerShell的一些術(shù)語(yǔ),對(duì)PowerShell做了一個(gè)完全介紹,需要的朋友可以參考下
    2014-08-08
  • Powershell中使用WMI工具例子

    Powershell中使用WMI工具例子

    這篇文章主要介紹了Powershell中使用WMI工具例子,本文先是講解了列出WMI類的方法,然后根據(jù)需要使用相應(yīng)的WMI類,需要的朋友可以參考下
    2014-11-11

最新評(píng)論