Powershell小技巧之使用Get-ChildItem得到指定擴展名文件
當你使用Get-ChildItem獲取輸出文件列表時,你可能會發(fā)現(xiàn)即使用了-Filter參數(shù)也會比你預(yù)期的結(jié)果要多得多。
這里有一個例子,它不僅返回.ps1擴展名文件同時也返回.ps1xml擴展名文件:
Get-ChildItem -Path C:\windows -Recurse -ErrorAction SilentlyContinue -Filter *.ps1
為了限制結(jié)果集只是你設(shè)置后的擴展名,可以添加一個命令的過濾器,以完善的結(jié)果:
Get-ChildItem -Path C:\windows -Recurse -ErrorAction SilentlyContinue -Filter *.ps1 | Where-Object { $_.Extension -eq '.ps1' }
這將只返回指定的擴展名文件。
混合使用Get-ChildItem 參數(shù)
可以在同一命令中使用 Get-ChildItem cmdlet 的多個參數(shù)。在混合使用參數(shù)之前,請確保您了解通配符匹配。例如,以下命令將不會返回完整的結(jié)果:
PS> Get-ChildItem -Path C:\Windows\*.dll -Recurse -Exclude [a-y]*.dll
它只會返回C:\Windows\下的不以a-y開頭的dll。原因是你給的是具體的只是C:\Windows\下的*.dll,而這與遞歸的參數(shù)-recurse矛盾,因為-recurse將返回的是C:\Windows\目錄及遞歸目錄下所有符合要求的dll。
以下是正確的代碼:
若要為名稱與特定模式相匹配的文件指定遞歸搜索,請使用 -Include 參數(shù)。
PS> Get-ChildItem -Path C:\Windows -Include *.dll -Recurse -Exclude [a-y]*.dll
相關(guān)文章
PowerShell中使用PrintManagement管理打印機示例
這篇文章主要介紹了PowerShell中使用PrintManagement管理打印機示例,本文給出了一個安裝打印機驅(qū)動和打印機端口的例子,需要的朋友可以參考下2015-03-03Powershell創(chuàng)建數(shù)組正確、更快的方法
這篇文章主要介紹了Powershell創(chuàng)建數(shù)組正確、更快的方法,Powershell使用ArrayList創(chuàng)建數(shù)組的例子,需要的朋友可以參考下2014-07-07PowerShell中字符串使用單引號和雙引號的區(qū)別
這篇文章主要介紹了PowerShell中字符串使用單引號和雙引號的區(qū)別,大家可能會經(jīng)常遇到這個問題,需要的朋友可以參考下2014-08-08