PowerShell中按文件后綴過濾的實現(xiàn)代碼
小編在使用PowerShell時,經(jīng)常要使用Get-ChildItem(別名為dir),去獲取一些文件或目錄。然后要對這些結(jié)果按文件類型,即文件后綴去進行篩選。很多次這樣的工作做下來,小編覺得煩了,有沒有簡單的、一勞永逸的方法呢?我們今天就來探討。
不賣關(guān)子了,先給一個Filter代碼,大家先過目一下:
Filter Where-Extension
{
param
(
[String[]]
$extension = ('.png', '.jpg', '.gif')
)
$_ |
Where-Object {
$extension -contains $_.Extension
}
}
什么是Filter呢,這么講吧,跟函數(shù)差不多,只不過是放在管道之后的。所以在Filter里面會看到“$_ |”這樣的標記。這個Filter要求傳入一個數(shù)組參數(shù),那就是后綴列表。如果不傳,那默認就篩選.png,.jpg和.gif。
好了,看看怎么使用的。
我想篩選中d盤根目錄下所有.txt或.log這樣的文本文件,PowerShell腳本這樣寫:
dir d:\ | Where-Extension .txt,.log
大家可以跟小編一下,把這個Filter放到profile里面去,這樣每次調(diào)用就不用再定義而直接使用了。啊?你不知道什么是profile?那就去看看這篇文章吧。
相關(guān)文章
Powershell獲取系統(tǒng)中所有可停止的服務(wù)
這篇文章主要介紹了Powershell獲取系統(tǒng)中所有可停止的服務(wù),本文直接給出實現(xiàn)代碼,需要的朋友可以參考下2015-03-03
PowerShell腳本性能優(yōu)化技巧總結(jié)
這篇文章主要介紹了PowerShell腳本性能優(yōu)化技巧總結(jié),一些PowerShell腳本可能很容易消耗很多內(nèi)存,或者運行太多時間,甚至兼而有之,本文會分享幾個PowerShell小技巧來提高這一類腳本的性能,需要的朋友可以參考下2014-05-05
Windows Powershell ForEach-Object 循環(huán)
Powershell管道就像流水線,對于數(shù)據(jù)的處理是一個環(huán)節(jié)接著一個環(huán)節(jié),如果你想在某一環(huán)節(jié)對流進來的數(shù)據(jù)逐個細致化的處理,可是使用ForEach-Object,$_ 代表當前的數(shù)據(jù)。2014-10-10
PowerShell啟用winrm失?。壕芙^訪問 0x80070005 -2147024891
這篇文章主要介紹了PowerShell啟用winrm失?。壕芙^訪問 0x80070005 -2147024891,本文給出了詳細的排查步驟和解決方法,需要的朋友可以參考下2015-06-06

