コマンドプロンプトでの実行ファイル探索方法

toc目次

はじめに

コマンドプロンプトでの実行ファイル探索方法のメモです。

実行ファイルのフォルダー探索方法

実行ファイルのフォルダーは現在のフォルダー(カレントフォルダー)、環境変数のPATHに設定されたフォルダーの順に探索されます。

C:\> set path
Path=C:\Windows\system32;C:\Windows;

C:\> notepad.exe

上記の実行例では

  1. C:\notepad.exe
  2. C:\Windows\System32\notepad.exe
  3. C:\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:\testsample.batsample.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」です。
続行するには何かキーを押してください . . .

上記の実行例では

  1. C:\test\sample.com
  2. C:\test\sample.exe
  3. C:\test\sample.bat
  4. C:\test\sample.cmd
  5. ...

の順に探索され、優先順位の高いC:\test\sample.batが実行されています。