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

