国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發 > PowerShell > 正文

PowerShell中使用Filter來創建管道輸入函數

2020-05-30 20:11:46
字體:
來源:轉載
供稿:網友

本文介紹在自定義PowerShell函數時,不使用Function而使用Filter。Filter可以快速的創建一個管道輸入函數,Filter就相當于只有一個Process塊的Function。

Filter關鍵詞可以代替Function關鍵詞來創建函數。但Filter創建的函數,只能是接收管道輸入參數的參數,并且是接收塊結構數據的輸入。所以在Filter定義的函數里面,你都看不到接收輸入參數。

在Filter定義的函數中,使用$_變量,來遍歷所有的輸入對象。
代碼如下:
Filter Test-ApplicationProgram
{
    if ($_.MainWindowTitle -ne '')
    {
        $_
    }
}

執行結果如下:
代碼如下:
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
……

上面函數的作用是檢測窗口標題不為的進程,輸入參數必須是Process類型的變量。我們在演示的時候,使用了Get-Process來獲取所有的進程,然后當參數傳遞給Filter。

另外再說一句,Filter創建的函數跟Function創建的函數,在本質上是一樣的。所以,上面的Filter函數,與下面這段函數是一樣的。
代碼如下:
Function Test-ApplicationProgram
{
    process
    {
        if ($_.MainWindowTitle -ne ‘')
        {
            $_
        }
    }
}

或者說,在PowerShell系統內部,Filter創建的函數將被翻譯成上面這段Function存儲在內存中。

關于PowerShell使用Filter來快速創建管道輸入函數,本文就介紹這么多,希望對您有所幫助,謝謝!

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 会东县| 嫩江县| 军事| 武义县| 临汾市| 古蔺县| 商洛市| 乾安县| 米脂县| 亚东县| 平谷区| 灵石县| 中阳县| 宾阳县| 本溪市| 贵港市| 龙门县| 麦盖提县| 忻城县| 嘉义县| 中山市| 石楼县| 南木林县| 房山区| 花垣县| 元朗区| 武功县| 得荣县| 丽水市| 石河子市| 嫩江县| 西乡县| 克山县| 冕宁县| 土默特右旗| 运城市| 松滋市| 壶关县| 斗六市| 牡丹江市| 昌宁县|