PowerShell函數(shù)中的開關(guān)參數(shù)介紹和創(chuàng)建實例
本文介紹什么是開關(guān)參數(shù),在PowerShell自定義函數(shù)中,如何創(chuàng)建開關(guān)參數(shù)并使用開關(guān)參數(shù)的值。
什么叫開關(guān)參數(shù)呢?舉個例子,技術(shù)男一般都知道有一個網(wǎng)絡命令叫“Ping”,我們可以使用“ping m.fzitv.net”這樣一個命令來檢查本地計算機到m.fzitv.net這個網(wǎng)站所在的服務器網(wǎng)絡是否連通。這個命令會從本地發(fā)送4個數(shù)據(jù)包到m.fzitv.net服務器,并顯示每個數(shù)據(jù)包是否收到了反饋結(jié)果。如果我正在重啟m.fzitv.net這臺服務器,那么ping是得不到返回的。如果服務器重啟好了,那么就又會有返回結(jié)果了。于是我使用“ping -t m.fzitv.net”這個命令,它可以一直向m.fzitv.net服務器發(fā)送數(shù)據(jù)包,而不是默認的4個。
好了,扯了這么說,我要說明的是什么呢?就是這個“-t”參數(shù),它就是一個開關(guān)參數(shù)。有了它,ping就一直發(fā)數(shù)據(jù)包,沒有它,ping就只發(fā)4個數(shù)據(jù)包。那我們來看看在PowerShell自定義函數(shù)中,如何創(chuàng)建這樣一個開關(guān)參數(shù)。
function Test-Ping {
param
(
[Switch]
$t
)
if ($t)
{
Write-Host ‘一直ping'
}
else
{
Write-Host ‘ping 4 次'
}
}
OK,這個函數(shù)我就來模擬了一下ping的-t開關(guān)函數(shù),參數(shù)名為$t。if($t)表示使用了-t參數(shù),在調(diào)用時應該是“Test-Ping -t”,這時應該輸出“一直ping”。如果直接調(diào)用 Test-Ping,那將得到“ping 4 次”的提示。
PS C:\Users\Hong> test-ping
ping 4 次
PS C:\Users\Hong> test-ping -t
一直ping
前者是沒有啟用開關(guān),后者啟用了開關(guān)。這就是開關(guān)參數(shù)在PowerShell函數(shù)中的使用。
關(guān)于PowerShell函數(shù)中創(chuàng)建開關(guān)參數(shù),本文就介紹這么多,希望對您有所幫助,謝謝!
相關(guān)文章
PowerShell多線程執(zhí)行前后臺作業(yè)的例子
使用后臺作業(yè)執(zhí)行多個任務從先前的技巧中看不是非常高效,它在處理每個后臺作業(yè)返回結(jié)果時將會浪費很多性能。一個更有效的方法是使用進程內(nèi)的任務。他能分別單獨的執(zhí)行任務與Powershell類似,所以它不是按順序返回值的2014-04-04
PowerShell中使用Get-EventLog讀取、篩選系統(tǒng)日志的例子
這篇文章主要介紹了PowerShell中使用Get-EventLog讀取、篩選系統(tǒng)日志的例子,比如按日志名稱、日志類型、時間的技巧,需要的朋友可以參考下2014-08-08
PowerShell使用match操作符來篩選數(shù)組
本文介紹PowerShell中使用match操作符,配合正則表達式從數(shù)組中篩選出想要的內(nèi)容,需要的朋友可以參考下2016-11-11

