Aerial view of woman using a computer laptop and a cup of tea
バッチファイルの作成やWindowsコマンドライン操作の中で、ファイルや実行可能ファイルのパスを素早く特定する必要がある場面は多くあります。
そのような時に便利なのが WHERE
コマンド です。
WHERE
コマンドを使えば、環境変数 PATH
に登録されたディレクトリ内で特定のプログラムがどこにあるのかを簡単に検索できます。
本記事では、 WHERE
コマンドの基本的な使い方から、応用的な活用方法までを詳しく解説 し、 実際にバッチファイルでの活用例 も紹介します。
これを読めば、WHERE
コマンドを使いこなせるようになり、 Windows環境でのファイル検索を効率化 できます。
WHERE
コマンドは、 指定したファイルやプログラムをWindows環境内で素早く検索する ためのコマンドです。
Linuxにおける which
コマンドと同様の機能を持ち、 環境変数 PATH
に登録されているフォルダを検索 します。
WHERE [オプション] <検索対象>
<検索対象>
:検索するファイル名やパターン[オプション]
:検索条件を変更するためのオプション例えば、python.exe
の場所を調べるには次のように入力します。
WHERE python
出力例:
C:\Users\Username\AppData\Local\Microsoft\WindowsApps\python.exe
C:\Program Files\Python39\python.exe
環境変数 PATH
に登録されているディレクトリ内の python.exe
のすべてのパス を表示します。
ワイルドカードを使用すると、特定の拡張子のファイルを検索できます。
WHERE *.exe
このコマンドは、 現在のディレクトリおよび PATH
内の .exe
ファイルをすべて検索 します。
WHERE notepad calc
出力例:
C:\Windows\System32\notepad.exe
C:\Windows\System32\calc.exe
notepad.exe
(メモ帳)や calc.exe
(電卓)のパスをまとめて検索できます。
WHERE /R C:\Users\Username\Documents *.txt
このコマンドは、 指定したフォルダ内(C:\Users\Username\Documents
)にある .txt
ファイル を検索します。
/T
オプションを使用すると、検索対象の ファイルの最終更新日時とファイルサイズ も取得できます。
ファイルの管理や、特定のバージョンのファイルを見つける際に役立ちます。
WHERE /T notepad.exe
出力例:
cmdコピーする編集する2024/02/27 10:15:30 203264 C:\Windows\System32\notepad.exe
2024/02/27 10:15:30
→ 最終更新日時203264
→ ファイルサイズ(バイト単位)C:\Windows\System32\notepad.exe
→ 該当するファイルのパス特定のディレクトリ内で .txt
ファイルの詳細情報を取得するには次のようにします。
WHERE /R C:\Users\Username\Documents /T *.txt
出力例:
2024/02/26 08:30:12 10240 C:\Users\Username\Documents\example1.txt
2024/02/25 14:20:45 20480 C:\Users\Username\Documents\example2.txt
特定フォルダ内の .txt
ファイルの 最終更新日とサイズ まで確認できます。
@echo off
SETLOCAL
WHERE python >nul 2>nul
IF %ERRORLEVEL% NEQ 0 (
echo Pythonが見つかりませんでした。
exit /b 1
)
echo Pythonが見つかりました。
python --version
ENDLOCAL
WHERE
コマンドで python.exe
を探し、見つかればバージョンを表示します。
@echo off
SETLOCAL
SET SEARCH_FILE=notepad.exe
WHERE /T %SEARCH_FILE% > result.txt
IF %ERRORLEVEL% NEQ 0 (
echo %SEARCH_FILE% が見つかりませんでした。
) ELSE (
echo %SEARCH_FILE% の情報を result.txt に保存しました。
type result.txt
)
ENDLOCAL
解説
WHERE /T %SEARCH_FILE% > result.txt
notepad.exe
の 最終更新日時とサイズ情報を result.txt に保存type result.txt
@echo off
SETLOCAL
SET SEARCH_DIR=C:\Users\Username\Documents
SET FILE_PATTERN=*.log
WHERE /R %SEARCH_DIR% /T %FILE_PATTERN% | sort /R > latest_logs.txt
echo 最新のログファイル一覧を latest_logs.txt に保存しました。
ENDLOCAL
解説
WHERE /R %SEARCH_DIR% /T %FILE_PATTERN%
.log
ファイルの 最終更新日時とサイズを取得sort /R
WHERE
コマンドは、 Windows環境でのファイル検索を効率化する強力なツール です。
特に /T
オプションを活用すると、 ファイルの最終更新日時やサイズを確認 できるため、 特定バージョンのファイルを探したり、ファイル管理を最適化 するのに便利です。
✅ WHERE
コマンドで 特定の実行ファイルやスクリプトのパスを検索
✅ /R
オプションで 特定ディレクトリ内を検索
✅ /T
オプションで ファイルの更新日時とサイズを取得
✅ バッチファイルで WHERE
を活用すれば、プログラムの存在チェックやファイル管理が容易に
これらを活用すれば、 Windows環境での作業効率が格段に向上 します!
ぜひ WHERE
コマンドを使いこなして、 よりスマートなバッチ処理を作成 してみてください!