という名前のプロジェクト フォルダーがtopfolder
あり、特定のパターンに一致するすべてのサブフォルダー内のすべてのファイルを検索しfoo
たい。
私は次のようなものを試しました:
gci .\topfolder -rec -filter *foo*
しかし、次の 2 つの問題があります。
- 実際に含まれているファイルのみ
foo
がリストされます(fooのようなフォルダーにあるファイルが必要です)。 - このフィルタに一致するディレクトリも結果セットの一部になります。
それから私はこれを試しました:
gci .\topfolder\*foo* -include *.*
しかし、それはまったく機能しません。明らかに、ワイルドカードはパスの単一セグメントのみに一致するため、そのパターンは一致しますが一致topfolder\foobar
しませんtopfolder\subfolder\foobar
。
これまでに見つけた唯一の方法は、次のように Get-ChildItem を 2 回使用することでした。
gci .\topfolder -rec -include *foo* | where { $_.psiscontainer } | gci
これは機能しますが、2 回呼び出すのは無駄のように思えます。またはのようなgci
適切なワイルドカード表現が見つからなかったことを願っています。-Path
-Filter
-Include
それを行う最善の方法は何ですか?