2016-05-15 8 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を呼び出すことができます。初めて、あなたは、あなたがWhere-Objectコマンドレットを使用してDataフォルダを除外し、最終的に再帰的にファイルを取得する-Recurseスイッチと第二Get-ChildItemコマンドレットを使用し、E:\User\AMT_Projectディレクトリからすべてのアイテムを取得:

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

データフォルダーには、あなたがあなたの質問の中に...しかし、ちょうど第二の例を使用して交換することを言及している必要がありますAMT_Project – user664481

+0

ためのサブフォルダではありません一致: 'Get-ChildItems 'E:\ User \ AMT_Project' -Recurse | Where-Object FullName -NotMatch 'E:\\ User \\ AMT_Project \\。*?\\ Data \\。*' ' –

+0

優秀..ありがとう – user664481

関連する問題