2016-05-15 51 views
1

我想在多個文件上搜索特定的字符串,這裏命令會執行。該命令將搜索AMT_Project中的所有文件夾。現在我想跳過AMT_Project文件夾中的數據文件夾。我怎樣才能做到這一點 ?如何跳過Get-ChildItem命令中的某個文件夾

PS E:\User\AMT_Project> Get-ChildItem -recurse | Select-String -pattern "[email protected]" -SimpleMatch | group path | select name 

文件夾結構

enter image description here

enter image description here

回答

1

你可以調用Get-ChildItem兩次。第一次,您從E:\User\AMT_Project目錄中獲取的所有項目,那麼您排除使用Where-Object cmdlet中Data文件夾,最後使用第二Get-ChildItem cmdlet與-Recurse開關遞歸檢索文件:

Get-ChildItem 'E:\User\AMT_Project' | Where-Object Name -ne 'Data' | Get-ChildItem -Recurse 

你也可以檢索所有項目遞歸第一和它們進行過濾:

Get-ChildItems 'E:\User\AMT_Project' -Recurse | Where-Object FullName -NotMatch 'E:\\User\\AMT_Project\\Data\\.*' 
+0

Data文件夾是不是AMT_Project – user664481

+0

您應該提到,你的問題中。但是,只要使用第二個例子,更換一個子文件夾中匹配:'Get-ChildItems'E:\ User \ AMT_Project'-Recurse | Where-Object FullName -NotMatch'E:\\ User \\ AMT_Project \\。*?\\ Data \\。*'' –

+0

非常好..謝謝 – user664481

相關問題