コマンドプロンプトでの実行ファイル探索方法
はじめに
コマンドプロンプトでの実行ファイル探索方法のメモです。
実行ファイルのフォルダー探索方法
実行ファイルのフォルダーは現在のフォルダー(カレントフォルダー)、環境変数のPATHに設定されたフォルダーの順に探索されます。
C:\> set path
Path=C:\Windows\system32;C:\Windows;
C:\> notepad.exe
上記の実行例では
C:\notepad.exeC:\Windows\System32\notepad.exeC:\Windows\notepad.exe
の順にnotepad.exeが探索され、見つかった場合は実行されます。
なお、WHEREコマンドで実行ファイルの探索を行った場合、優先順に実行ファイルが表示されます。
C:\> where notepad.exe
C:\Windows\System32\notepad.exe
C:\Windows\notepad.exe
拡張子を省略した場合の実行ファイル探索方法
拡張子を省略した場合は、環境変数のPATHEXTの設定順に拡張子が補完されて探索されます。
環境変数のPATHEXTの内容はSETコマンドで確認できます。
C:\> set pathext
PATHEXT=.COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH;.MSC
以下は、C:\testにsample.batとsample.cmdがありsampleを実行する例です。
C:\test> dir /a:-d /b
sample.bat
sample.cmd
C:\test> type sample.bat
@echo 実行されたファイルは「sample.bat」です。 & pause
C:\test> type sample.cmd
@echo 実行されたファイルは「sample.cmd」です。 & pause
C:\test> sample
実行されたファイルは「sample.bat」です。
続行するには何かキーを押してください . . .
上記の実行例では
C:\test\sample.comC:\test\sample.exeC:\test\sample.batC:\test\sample.cmd...
の順に探索され、優先順位の高いC:\test\sample.batが実行されています。