PowerShell中使用Filter來(lái)創(chuàng)建管道輸入函數(shù)
本文介紹在自定義PowerShell函數(shù)時(shí),不使用Function而使用Filter。Filter可以快速的創(chuàng)建一個(gè)管道輸入函數(shù),F(xiàn)ilter就相當(dāng)于只有一個(gè)Process塊的Function。
Filter關(guān)鍵詞可以代替Function關(guān)鍵詞來(lái)創(chuàng)建函數(shù)。但Filter創(chuàng)建的函數(shù),只能是接收管道輸入?yún)?shù)的參數(shù),并且是接收塊結(jié)構(gòu)數(shù)據(jù)的輸入。所以在Filter定義的函數(shù)里面,你都看不到接收輸入?yún)?shù)。
在Filter定義的函數(shù)中,使用$_變量,來(lái)遍歷所有的輸入對(duì)象。
Filter Test-ApplicationProgram
{
if ($_.MainWindowTitle -ne '')
{
$_
}
}
執(zhí)行結(jié)果如下:
PS> Get-Process | Test-ApplicationProgram
Handles NPM(K) PM(K) WS(K) VM(M) CPU(s) Id ProcessName
------- ------ ----- ----- ----- ------ -- -----------
787 53 110040 102008 319 7,91 7600 chrome
……
上面函數(shù)的作用是檢測(cè)窗口標(biāo)題不為的進(jìn)程,輸入?yún)?shù)必須是Process類型的變量。我們?cè)谘菔镜臅r(shí)候,使用了Get-Process來(lái)獲取所有的進(jìn)程,然后當(dāng)參數(shù)傳遞給Filter。
另外再說(shuō)一句,F(xiàn)ilter創(chuàng)建的函數(shù)跟Function創(chuàng)建的函數(shù),在本質(zhì)上是一樣的。所以,上面的Filter函數(shù),與下面這段函數(shù)是一樣的。
Function Test-ApplicationProgram
{
process
{
if ($_.MainWindowTitle -ne ‘')
{
$_
}
}
}
或者說(shuō),在PowerShell系統(tǒng)內(nèi)部,F(xiàn)ilter創(chuàng)建的函數(shù)將被翻譯成上面這段Function存儲(chǔ)在內(nèi)存中。
關(guān)于PowerShell使用Filter來(lái)快速創(chuàng)建管道輸入函數(shù),本文就介紹這么多,希望對(duì)您有所幫助,謝謝!
- PowerShell實(shí)現(xiàn)按條件終止管道的方法
- PowerShell中終止管道的方法
- PowerShell入門教程之PowerShell管道介紹
- Windows Powershell導(dǎo)出管道結(jié)果
- Windows Powershell分析和比較管道結(jié)果
- Windows Powershell過(guò)濾管道結(jié)果
- Windows Powershell排序和分組管道結(jié)果
- Windows Powershell使用管道
- Windows Powershell 管道和重定向
- PowerShell函數(shù)中接收管道參數(shù)實(shí)例
- PowerShell管道入門必看篇(管道例子大全)
相關(guān)文章
PowerShell中使用Get-Alias命令獲取cmdlet別名例子
這篇文章主要介紹了PowerShell中使用Get-Alias命令獲取cmdlet別名的例子,PowerShell中兼容DOS下和Linux下的很多命令,這些都是靠別名來(lái)實(shí)現(xiàn)的,需要的朋友可以參考下2014-08-08
Windows Powershell分析和比較管道結(jié)果
這篇文章主要介紹了Windows Powershell分析和比較管道結(jié)果,需要的朋友可以參考下2014-09-09
簡(jiǎn)單談?wù)凱owerShell 4.0中的新命令
powershell 4.0都出來(lái)那么長(zhǎng)時(shí)間了,相對(duì)于powershell 3.0,它的命令都改變了哪些,有哪些更新呢?下面我們就來(lái)詳細(xì)談?wù)勂渲械?0個(gè)新命令2015-09-09
PowerShell函數(shù)中限制數(shù)組參數(shù)個(gè)數(shù)的例子
這篇文章主要介紹了PowerShell中限制函數(shù)的數(shù)組參數(shù)個(gè)數(shù)的例子,可以控制數(shù)組的參數(shù)個(gè)數(shù)在指定范圍內(nèi),需要的朋友可以參考下2014-07-07
PowerShell中字符串使用單引號(hào)和雙引號(hào)的區(qū)別
這篇文章主要介紹了PowerShell中字符串使用單引號(hào)和雙引號(hào)的區(qū)別,大家可能會(huì)經(jīng)常遇到這個(gè)問(wèn)題,需要的朋友可以參考下2014-08-08
Powershell直接腳本時(shí)出現(xiàn)無(wú)法加載文件因?yàn)榻箞?zhí)行腳本
Powershell直接腳本時(shí)出現(xiàn)無(wú)法加載文件因?yàn)樵诖讼到y(tǒng)中禁止執(zhí)行腳本,有關(guān)此問(wèn)題的解決方法如下2014-08-08
Windows Powershell 創(chuàng)建數(shù)組
在日常處理中,除了使用像“數(shù)值類型”和“字符串類型”外,還需要使用能夠包含其他對(duì)象的“集合”類型。大多數(shù)常見(jiàn)語(yǔ)言,都提供一些操作集合類型的語(yǔ)法。最基本的集合類型就是數(shù)組類型,它提供了一種下標(biāo)基于0的數(shù)組對(duì)象。2014-09-09

