Windowsコマンド虎の巻

where

whereは、ファイルを検索するコマンドです。

構文

where [オプション] [ファイル名パターン]
【オプション】
オプション説明
/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に定義されている拡張子は、ファイル名パターンに指定しなくとも自動で検索対象となります。