web-dev-qa-db-ja.com

Windowsコマンドラインを使用してパスにワイルドカードを含むファイルを検索する

このようなワイルドカードを使用して、Windowsコマンドラインでファイルを検索するにはどうすればよいですか?

C:\Users\*\AppData\Local\*.txt
10
Sakher

Windows PowerShellはこれを簡単に実行できます。

Get-ChildItem C:\Users\*\AppData\Local\*.txt

サブフォルダーを含める場合:

Get-ChildItem C:\Users\*\AppData\Local\*.txt -recurse

非表示(など)ファイルに関しては、Powershellのhelp Get-ChildItemさんのコメント:

既定では、Get-ChildItemは非表示でないアイテムを取得しますが、Directory、File、Hidden、ReadOnly、およびSystemパラメーターを使用して、これらの属性を持つアイテムのみを取得できます。複雑な属性検索を作成するには、Attributesパラメーターを使用します。これらのパラメーターを使用する場合、Get-ChildItemは、パラメーターがAND演算子で接続されているかのように、すべての検索条件を満たすアイテムのみを取得します。

15
aphoria

Windows向けの優れたUnixシェルであれば、これが可能です。

たとえば、これは私の Hamilton C Shell のスクリーンショットです(申し訳ありませんが、一致はありません)。 3番目の例で使用されている ... wildcard は、パターンの残りの部分が一致するために必要なものは何でも、0以上のディレクトリレベルに一致します。

Wildcarding using Hamilton C Shell on Windows 7 x64

Cygwinbashを使用すると、次のようになります。 CygwinはUnixの規則に従っているため、ここにいくつかの違いがあります。パスは通常、スラッシュで入力され、バックスラッシュはエスケープ文字です。 Unixはドライブ文字を認識しないため、/cydrive/cドライブを参照するC:表記を導入しています。 Unixと同様に、ワイルドカードは大文字と小文字を区別します。また、通常の複数ディレクトリレベルのワイルドカードをサポートしていますが、シェルに追加した...は含まれていません。 (代わりに、おそらくfindを使用します。)

Wildcarding using Cygwin bash on Windows 7 x64

5
Nicole Hamilton

Cmdで、C:\Usersに移動して実行します

dir /s /b | findstr AppData\Local | findstr txt

説明:dir /sはすべてのファイルを再帰的に一覧表示し、/bはフルパスを表示し、これらすべての子ファイル内でパイプライン演算子を使用して、文字列「AppData\Local」と「txt」の両方を検索します。

1
wile the coyote