探索PowerShell(十二) 篩選器 Filters
更新時間:2012年12月05日 17:42:38 作者:
篩選器是函數(shù)的一種特殊形式
篩選器是函數(shù)的一種特殊形式。
定義篩選器:
Filter(關鍵字) 篩選器名 (參數(shù)) {代碼}
與定義函數(shù)不同的是,函數(shù)使用"$input"變量來從管道符中獲取信息,而篩選器使用的是變量"$_"。在對數(shù)據(jù)的處理方面,函數(shù)與篩選器也有著不同,在函數(shù)中,"$input"變量會接受所有的信息,再進行運算,而在篩選器中,"$_"變量會一邊接受來自管道符的信息,一邊進行篩選(運算)操作。
總結說來,對于函數(shù):管道符將數(shù)據(jù)一次以集合方式傳入函數(shù)內(nèi)部,函數(shù)需要使用循環(huán)或者遞歸方式處理。對于篩選器:管道符每傳入一個數(shù)據(jù),代碼就執(zhí)行一次,直至所有數(shù)據(jù)傳入完畢。
上一節(jié)講述函數(shù)的最后,使用了如下的例子:
function fun{
begin{
"Start"
$i=1
}
process{
"run "+$i
$_.name
$i++
}
end{
"End"
}
}
ls | fun
在這里,對其稍作修改,改為:
function fun{
"run"
$_.name
}
ls | fun
運行結果如下:

可以看到,并沒有做任何"ls"輸出。在原示例中,因為使用了"process"聲明,因此,代碼塊得以往復執(zhí)行直至數(shù)據(jù)處理結束,但是,此例中其結果與之大相徑庭。
若將其修改為如下形式:
filter fun{
"run"
$_.name
}
ls | fun
運行結果:

如此便可以看到與上一節(jié)內(nèi)容一樣的輸出。
也就是說,內(nèi)部含有"process"標記代碼塊的函數(shù),同樣具有篩選器的作用。
定義篩選器:
Filter(關鍵字) 篩選器名 (參數(shù)) {代碼}
與定義函數(shù)不同的是,函數(shù)使用"$input"變量來從管道符中獲取信息,而篩選器使用的是變量"$_"。在對數(shù)據(jù)的處理方面,函數(shù)與篩選器也有著不同,在函數(shù)中,"$input"變量會接受所有的信息,再進行運算,而在篩選器中,"$_"變量會一邊接受來自管道符的信息,一邊進行篩選(運算)操作。
總結說來,對于函數(shù):管道符將數(shù)據(jù)一次以集合方式傳入函數(shù)內(nèi)部,函數(shù)需要使用循環(huán)或者遞歸方式處理。對于篩選器:管道符每傳入一個數(shù)據(jù),代碼就執(zhí)行一次,直至所有數(shù)據(jù)傳入完畢。
上一節(jié)講述函數(shù)的最后,使用了如下的例子:
復制代碼 代碼如下:
function fun{
begin{
"Start"
$i=1
}
process{
"run "+$i
$_.name
$i++
}
end{
"End"
}
}
ls | fun
在這里,對其稍作修改,改為:
復制代碼 代碼如下:
function fun{
"run"
$_.name
}
ls | fun
運行結果如下:

可以看到,并沒有做任何"ls"輸出。在原示例中,因為使用了"process"聲明,因此,代碼塊得以往復執(zhí)行直至數(shù)據(jù)處理結束,但是,此例中其結果與之大相徑庭。
若將其修改為如下形式:
復制代碼 代碼如下:
filter fun{
"run"
$_.name
}
ls | fun
運行結果:

如此便可以看到與上一節(jié)內(nèi)容一樣的輸出。
也就是說,內(nèi)部含有"process"標記代碼塊的函數(shù),同樣具有篩選器的作用。
相關文章
PowerShell中的特殊變量$null介紹和創(chuàng)建多行注釋小技巧
這篇文章主要介紹了PowerShell中的特殊變量$null介紹和創(chuàng)建多行注釋小技巧,需要的朋友可以參考下2014-08-08Windows Powershell 執(zhí)行外部命令
Windows PowerShell 在使用方面與 Cmd.exe 并無多大不同,只是 Windows PowerShell 的功能更為強大。與 Cmd.exe 一樣,Windows PowerShell 具有內(nèi)置的腳本編寫語言,不過它比 Cmd.exe 原始的批處理語言更為靈活。Cmd.exe 做到的事情,Windows PowerShell 幾乎都能做到。2014-08-08PowerShell入門教程之高效使用PowerShell交互式運行環(huán)境的幾個小技巧
這篇文章主要介紹了PowerShell入門教程之高效使用PowerShell交互式運行環(huán)境的幾個小技巧,本文也可以說是使用PowerShell的一些好習慣,需要的朋友可以參考下2014-10-10