where
whereは、ファイルを検索するコマンドです。
解説
whereコマンドは、ファイル名からファイルを探すことができます。
部分一致やワイルドカードを使った検索が可能です。
構文
- (構文)
- WHERE [オプション] <ファイル名パターン>
パラメータ | 説明 |
---|---|
オプション | 下表【オプション】参照 |
ファイル名 パターン | ワイルドカードを使ったファイル名を指定する ※省略不可 (ワイルドカード記号) *:0文字以上の任意の文字列 ?:1文字以下の任意の文字列 |
オプション | 説明 |
---|---|
/R パス | 検索対象のディレクトリを指定する ※サブディレクトリ内も検索対象に含まれます。 |
/Q | 結果としてファイル名を表示せず、終了コードのみを返す (0:検索結果あり 1:検索結果なし 2:エラー) |
/F | 結果のファイル名をダブルクォーテーションで囲って表示する |
/T | ファイルサイズ、ファイル更新日時も表示する |
/? | コマンドのヘルプを表示する |
サンプル
ファイル名パターン"calc"を、カレントまたはPATHから検索する
C:¥>where calc
C:¥Windows¥System32¥calc.exe
.exeは、環境変数PATHEXTに定義されているので自動で検索対象となります。
ファイル名パターン"*.txt"を、カレントまたはPATHから検索する
C:¥>where *.txt
ファイル名パターン"*.txt"を、「C:¥dir01」ディレクトリの中から検索する
C:¥>where /r C:¥dir01 *.txt
C:¥dir01¥bb.txt
C:¥dir01¥dir02¥bb.txt
サブディレクトリ内も対象となります。
ファイル名パターン"*.txt"を「C:¥dir01」ディレクトリの中から検索する(サイズ、更新日時も表示)
C:¥>where /t /r C:¥dir01 *.txt
826 2018/07/21 14:49:16 C:¥dir01¥bb.txt
1385 2018/07/22 14:39:58 C:¥dir01¥dir02¥bb.txt
ファイル名パターン"*.txt"を、「C:¥dir01」ディレクトリの中から検索する(結果をダブルクォーテーションで囲う)
C:¥>where /f /r C:¥dir01 *.txt
"C:¥dir01¥bb.txt"
"C:¥dir01¥dir02¥bb.txt"
★複数のディレクトリを検索対象として指定することも可能です。
ディレクトリ「C:¥dir11」と「C:¥dir22」内の拡張子が .txt のファイルを検索
C:¥>where "C:¥dir11;C:¥dir22:*.txt"
C:¥dir11¥bb.txt
C:¥dir22¥aa.txt
ディレクトリを「;」で区切って、ファイルパターンを「:」で区切って指定します。
サブディレクトリは対象外となります。
備考
- /Rでディレクトリを指定しない場合は、①カレントディレクトリ、②環境変数PATHに定義されているディレクトリを検索対象とします。
- 環境変数PATHEXTに定義されている拡張子は、ファイル名パターンに指定しなくとも自動で検索対象となります。