PowerShell中按文件后綴過(guò)濾的實(shí)現(xiàn)代碼
小編在使用PowerShell時(shí),經(jīng)常要使用Get-ChildItem(別名為dir),去獲取一些文件或目錄。然后要對(duì)這些結(jié)果按文件類(lèi)型,即文件后綴去進(jìn)行篩選。很多次這樣的工作做下來(lái),小編覺(jué)得煩了,有沒(méi)有簡(jiǎn)單的、一勞永逸的方法呢?我們今天就來(lái)探討。
不賣(mài)關(guān)子了,先給一個(gè)Filter代碼,大家先過(guò)目一下:
Filter Where-Extension
{
param
(
[String[]]
$extension = ('.png', '.jpg', '.gif')
)
$_ |
Where-Object {
$extension -contains $_.Extension
}
}
什么是Filter呢,這么講吧,跟函數(shù)差不多,只不過(guò)是放在管道之后的。所以在Filter里面會(huì)看到“$_ |”這樣的標(biāo)記。這個(gè)Filter要求傳入一個(gè)數(shù)組參數(shù),那就是后綴列表。如果不傳,那默認(rèn)就篩選.png,.jpg和.gif。
好了,看看怎么使用的。
我想篩選中d盤(pán)根目錄下所有.txt或.log這樣的文本文件,PowerShell腳本這樣寫(xiě):
dir d:\ | Where-Extension .txt,.log
大家可以跟小編一下,把這個(gè)Filter放到profile里面去,這樣每次調(diào)用就不用再定義而直接使用了。???你不知道什么是profile?那就去看看這篇文章吧。
相關(guān)文章
PowerShell中使用Get-EventLog讀取、篩選系統(tǒng)日志的例子
這篇文章主要介紹了PowerShell中使用Get-EventLog讀取、篩選系統(tǒng)日志的例子,比如按日志名稱(chēng)、日志類(lèi)型、時(shí)間的技巧,需要的朋友可以參考下2014-08-08Windows Powershell Switch 語(yǔ)句
如果語(yǔ)句中有多路分支,使用IF-ELSEIF-ELSE不友好,可以使用Switch,看起來(lái)比較清爽一點(diǎn)。2014-10-10PowerShell函數(shù)參數(shù)設(shè)置成自動(dòng)識(shí)別數(shù)據(jù)類(lèi)型的例子
這篇文章主要介紹了PowerShell函數(shù)參數(shù)設(shè)置成自動(dòng)識(shí)別數(shù)據(jù)類(lèi)型的例子,這個(gè)方法可以很方便的使用參數(shù)集,而不用每次指定名稱(chēng),需要的朋友可以參考下2014-07-07PowerShell實(shí)現(xiàn)的文件同步腳本分享
這篇文章主要介紹了PowerShell實(shí)現(xiàn)的文件同步腳本分享,本文直接給出實(shí)現(xiàn)代碼,需要的朋友可以參考下2015-05-05PowerShell腳本開(kāi)發(fā)之收發(fā)TCP消息包
這篇文章里將會(huì)描述如何在PSNet包中創(chuàng)建針對(duì)TCP消息包的函數(shù)Receive-和TCPMessageSend-TCPMessage。并把相關(guān)代碼分享給大家,有需要的朋友可以參考下。2014-10-10Powershell在一個(gè)會(huì)話(huà)中只允許執(zhí)行指定命令的方法
這篇文章主要介紹了Powershell在一個(gè)會(huì)話(huà)中只允許執(zhí)行指定命令的方法,使用本文的技巧可以達(dá)到控制權(quán)限的功能,需要的朋友可以參考下2014-11-11PowerShell腳本開(kāi)發(fā)嘗試登錄SQL Server
本文創(chuàng)建了PSSecurity工具集,介紹了通過(guò)PowerShell嘗試登錄SQLServer的方法,此種方法可以用于暴力破解和窮舉賬戶(hù)密碼,窮舉就需要依靠比較全面的字典的支持了。2014-10-10Powershell小技巧之使用Jint引擎在PowerShell中執(zhí)行Javascript函數(shù)
這里演示如何利用PowerShell將一段Javascript函數(shù)字符串交給Jint引擎去執(zhí)行。方法很簡(jiǎn)單,希望對(duì)大家有所幫助2014-09-09