Windowsコマンド虎の巻

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に定義されている拡張子は、ファイル名パターンに指定しなくとも自動で検索対象となります。