環境変数 PATH って何?と、コマンドプロンプトで使える環境変数を知る方法

環境変数 PATH とは

端的にいえば、「フルパスで指定しなくても実行可能ファイルを探しに行けるようにする変数」。

Windows コマンドプロンプトは、何かのコマンド (実行可能ファイルのファイル名) を入力した時に、

  1. 現在のディレクトリ内に合致するファイルがあるか (あればそれを実行する)
  2. (なければ) 環境変数 PATH に設定されたディレクトリ内に合致するファイルがあるか

という順で、順次実行可能ファイルを探しに行く。

だから例えば、環境変数 PATH に C:\Program Files\Java\jdk1.8.0\bin\ などが指定されていて、この中には java.exe があるけど、カレントディレクトリには全く別の java.bat なり java.exe があったとする。するとコマンドプロンプトで java hoge と実行した時に呼び出されるのは、カレントディレクトリの java.batjava.exe になる。

ちなみに、同一ディレクトリに拡張子だけ違う同じ名前のファイルがある場合は、PATHEXT で定義された順序で拡張子を探しに行く。大抵は以下の順になっているはずだ。

PATHEXT=.COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH;

コマンドプロンプトで使える環境変数を知る方法

環境変数 PATH については、コマンドプロンプトで path と入力するだけで表示される。%PATH%% で囲まなくて良い。

> path

Path=C:\ProgramData\Oracle\Java\javapath;C:\Windows\system32 (後略…)

その他のコマンドプロンプトで使える環境変数は、set と入力すると一覧表示される。

> set

APPDATA=C:\Users\Neos21\AppData\Roaming
CommonProgramFiles=C:\Program Files\Common Files
ComSpec=C:\WINDOWS\system32\cmd.exe
LOCALAPPDATA=C:\Users\Neos21\AppData\Local
OS=Windows_NT
Path=C:\ProgramData\Oracle\Java\javapath;C:\Windows\system32
PATHEXT=.COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH;.MSC;.RB;.RBW
ProgramFiles=C:\Program Files
PROMPT=$P$G
SystemDrive=C:
SystemRoot=C:\WINDOWS
TEMP=C:\Users\Neos21\AppData\Local\Temp
TMP=C:\Users\Neos21\AppData\Local\Temp
USERNAME=Neos21
USERPROFILE=C:\Users\Neos21
windir=C:\WINDOWS

Rem 一部削除しています

こんな風に見える。