環境変数 PATH って何?と、コマンドプロンプトで使える環境変数を知る方法
環境変数 PATH とは
端的にいえば、「フルパスで指定しなくても実行可能ファイルを探しに行けるようにする変数」。
Windows コマンドプロンプトは、何かのコマンド (実行可能ファイルのファイル名) を入力した時に、
- 現在のディレクトリ内に合致するファイルがあるか (あればそれを実行する)
- (なければ) 環境変数 PATH に設定されたディレクトリ内に合致するファイルがあるか
という順で、順次実行可能ファイルを探しに行く。
だから例えば、環境変数 PATH に C:\Program Files\Java\jdk1.8.0\bin\
などが指定されていて、この中には java.exe
があるけど、カレントディレクトリには全く別の java.bat
なり java.exe
があったとする。するとコマンドプロンプトで java hoge
と実行した時に呼び出されるのは、カレントディレクトリの java.bat
や java.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 一部削除しています
こんな風に見える。