PowerShell函數(shù)參數(shù)設(shè)置成自動(dòng)識(shí)別數(shù)據(jù)類型的例子
本文介紹PowerShell自定義函數(shù)中使用參數(shù)集時(shí),怎么設(shè)置系統(tǒng)自動(dòng)識(shí)別參數(shù)的數(shù)據(jù)類型。
識(shí)別參數(shù)類型的一個(gè)好處就是,在使用參數(shù)集時(shí),不需要每次都指定參數(shù)名稱了。
請(qǐng)看下面這個(gè)Test-Binding函數(shù)。這個(gè)PowerShell函數(shù)在設(shè)置參數(shù)集的時(shí)候,為參數(shù)集中的第一個(gè)參數(shù)設(shè)置了數(shù)據(jù)類型,這樣在調(diào)用函數(shù)時(shí),就可以自動(dòng)判斷一個(gè)參數(shù)值它應(yīng)該賦給哪個(gè)參數(shù)了。
function Test-Binding {
[CmdletBinding(DefaultParameterSetName='Name')]
param(
[Parameter(ParameterSetName='ID', Position=0, Mandatory=$true)]
[Int]
$id,
[Parameter(ParameterSetName='Name', Position=0, Mandatory=$true)]
[String]
$name
)
$set = $PSCmdlet.ParameterSetName
“You selected $set parameter set”
if ($set -eq ‘ID') {
“The numeric ID is $id”
} else {
“You entered $name as a name”
}
}
注意函數(shù)中參數(shù)$id上面的[int]和參數(shù)$name上面的[String]。有這了這樣的函數(shù)定義,那我們?cè)谡{(diào)用時(shí)就方便了,如果傳一個(gè)字符串給它,它會(huì)把這個(gè)參數(shù)當(dāng)作是$name,而傳一個(gè)數(shù)字給它,這個(gè)參數(shù)會(huì)被當(dāng)作是$id。且看如下調(diào)用函數(shù)的示例。
PS> Test-Binding -Name hallo
You selected Name parameter set
You entered hallo as a name
PS> Test-Binding -Id 12
You selected ID parameter set
The numeric ID is 12
PS> Test-Binding hallo
You selected Name parameter set
You entered hallo as a name
PS> Test-Binding 12
You selected ID parameter set
The numeric ID is 12
上面一共做了4次調(diào)用,前兩次調(diào)用都指定了參數(shù)名,沒有什么好說的。后面兩次都沒有指定參數(shù)名稱,但執(zhí)行的結(jié)果跟前兩次一模一樣,這表示PowerShell函數(shù)自動(dòng)識(shí)別了輸入?yún)?shù)要調(diào)用的哪個(gè)參數(shù)名稱。
關(guān)于PowerShell函數(shù)參數(shù)集自動(dòng)識(shí)別參數(shù)數(shù)據(jù)類型,本文就介紹這么多,希望對(duì)您有所幫助,謝謝!
相關(guān)文章
Powershell小技巧之創(chuàng)建短網(wǎng)址
短網(wǎng)址服務(wù),可能很多朋友都已經(jīng)不再陌生,特別是在微博應(yīng)用中十分普遍,比如,當(dāng)我們?cè)隍v訊、新浪微博發(fā)微博時(shí)有時(shí)發(fā)很長的網(wǎng)址連接,但由于微博只限制140個(gè)字,所以微博就自動(dòng)把您發(fā)的長網(wǎng)址給轉(zhuǎn)換成短網(wǎng)址了。今天我們來探討下,如何用powershell來便捷的使用短網(wǎng)址2014-10-10Powershell腳本的4種執(zhí)行權(quán)限介紹
這篇文章主要介紹了Powershell腳本的4種執(zhí)行權(quán)限介紹,Windows默認(rèn)不允許任何腳本運(yùn)行,你可以使用"Set-ExecutionPolicy"cmdlet來改變的你PowerShell環(huán)境,共有4種運(yùn)行權(quán)限,需要的朋友可以參考下2015-06-06Powershell創(chuàng)建簡潔的HTML報(bào)告例子
這篇文章主要介紹了Powershell創(chuàng)建簡潔的HTML報(bào)告例子,本文先是講解了實(shí)現(xiàn)的步驟,然后給出了實(shí)現(xiàn)代碼,需要的朋友可以參考下2014-11-11PowerShell函數(shù)參數(shù)設(shè)置成自動(dòng)識(shí)別數(shù)據(jù)類型的例子
這篇文章主要介紹了PowerShell函數(shù)參數(shù)設(shè)置成自動(dòng)識(shí)別數(shù)據(jù)類型的例子,這個(gè)方法可以很方便的使用參數(shù)集,而不用每次指定名稱,需要的朋友可以參考下2014-07-07PowerShell中使用curl(Invoke-WebRequest)的方法教程
這篇文章主要給大家介紹了關(guān)于在PowerShell中使用curl(Invoke-WebRequest)的方法教程,文中通過詳細(xì)的示例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來一起看看吧。2017-08-08Powershell小技巧之使用-F方法帶入數(shù)據(jù)
這篇文章主要介紹了Powershell的一個(gè)使用-F方法帶入數(shù)據(jù)的小技巧,非常的簡單,也很易懂,記錄一下分享給大家2014-09-09PowerShell小技巧實(shí)現(xiàn)IE Web自動(dòng)化
使用IE的COM對(duì)象來完成簡單的Web自動(dòng)化測試,是最小巧和廉價(jià)的Web自動(dòng)化測試了,因?yàn)樗挥靡氲谌讲寮蛘吖ぞ摺?/div> 2014-09-09最新評(píng)論