Powershell小技巧之使用Get-ChildItem得到指定擴(kuò)展名文件
當(dāng)你使用Get-ChildItem獲取輸出文件列表時(shí),你可能會(huì)發(fā)現(xiàn)即使用了-Filter參數(shù)也會(huì)比你預(yù)期的結(jié)果要多得多。
這里有一個(gè)例子,它不僅返回.ps1擴(kuò)展名文件同時(shí)也返回.ps1xml擴(kuò)展名文件:
Get-ChildItem -Path C:\windows -Recurse -ErrorAction SilentlyContinue -Filter *.ps1
為了限制結(jié)果集只是你設(shè)置后的擴(kuò)展名,可以添加一個(gè)命令的過(guò)濾器,以完善的結(jié)果:
Get-ChildItem -Path C:\windows -Recurse -ErrorAction SilentlyContinue -Filter *.ps1 | Where-Object { $_.Extension -eq '.ps1' }
這將只返回指定的擴(kuò)展名文件。
混合使用Get-ChildItem 參數(shù)
可以在同一命令中使用 Get-ChildItem cmdlet 的多個(gè)參數(shù)。在混合使用參數(shù)之前,請(qǐng)確保您了解通配符匹配。例如,以下命令將不會(huì)返回完整的結(jié)果:
PS> Get-ChildItem -Path C:\Windows\*.dll -Recurse -Exclude [a-y]*.dll
它只會(huì)返回C:\Windows\下的不以a-y開(kāi)頭的dll。原因是你給的是具體的只是C:\Windows\下的*.dll,而這與遞歸的參數(shù)-recurse矛盾,因?yàn)?recurse將返回的是C:\Windows\目錄及遞歸目錄下所有符合要求的dll。
以下是正確的代碼:
若要為名稱(chēng)與特定模式相匹配的文件指定遞歸搜索,請(qǐng)使用 -Include 參數(shù)。
PS> Get-ChildItem -Path C:\Windows -Include *.dll -Recurse -Exclude [a-y]*.dll
相關(guān)文章
PowerShell中使用PrintManagement管理打印機(jī)示例
這篇文章主要介紹了PowerShell中使用PrintManagement管理打印機(jī)示例,本文給出了一個(gè)安裝打印機(jī)驅(qū)動(dòng)和打印機(jī)端口的例子,需要的朋友可以參考下2015-03-03Powershell創(chuàng)建數(shù)組正確、更快的方法
這篇文章主要介紹了Powershell創(chuàng)建數(shù)組正確、更快的方法,Powershell使用ArrayList創(chuàng)建數(shù)組的例子,需要的朋友可以參考下2014-07-07Windows Powershell Switch 語(yǔ)句
如果語(yǔ)句中有多路分支,使用IF-ELSEIF-ELSE不友好,可以使用Switch,看起來(lái)比較清爽一點(diǎn)。2014-10-10PowerShell實(shí)現(xiàn)時(shí)間管理小秘書(shū)
這篇文章主要介紹了PowerShell實(shí)現(xiàn)時(shí)間管理小秘書(shū),本文是一個(gè)PowerShell的綜合編程實(shí)例,實(shí)現(xiàn)了一個(gè)用來(lái)管理時(shí)間的功能,需要的朋友可以參考下2015-04-04PowerShell中字符串使用單引號(hào)和雙引號(hào)的區(qū)別
這篇文章主要介紹了PowerShell中字符串使用單引號(hào)和雙引號(hào)的區(qū)別,大家可能會(huì)經(jīng)常遇到這個(gè)問(wèn)題,需要的朋友可以參考下2014-08-08Powershell后臺(tái)作業(yè)、異步操作實(shí)例
如果需要加快執(zhí)行一個(gè)腳本,你可能需要用到后臺(tái)作業(yè)。后臺(tái)作業(yè)能同時(shí)運(yùn)行腳本中多個(gè)事件2014-04-04