DOSプロンプトでは、 exeの実行ファイルや、 batのバッチファイルは、 拡張子を省略しても実行することができます。
省略して実行できる拡張子は 環境変数 PATHEXT で、定義されています。 コマンドプロンプトで、以下のように打って調べます。
C:\>SET PATHEXT PATHEXT=.COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH
SET は、 環境変数を設定・参照するコマンドです。 引数に環境変数名を付けると、その値を表示することができます。 引き数を付けないと、全ての環境変数と値を表示します。
以下のように拡張子だけ違うファイルがある場合、 ファイル名だけで実行すると、 環境変数 PATHEXT で 定義されている順番で実行します。
C:\>DIR /A:A /B test.bat test.vbs test.wsh C:\>test I'm test.bat! ← test.bat が実行された
この場合、test.com(無い)→ test.exe(無い)→ test.bat(有る)の順番で探します。 もし、test.bat を削除すると、次の検索順の test.vbs が実行されるわけです。
新しく省略したい拡張子がある場合は、この環境変数 PATHEXT に 追加すると、拡張子なしで実行できるようになります。
ちなみに検索するパス(場所)は、環境変数 PATH に 定義されている順番です。 つまり、PATH で定義されている検索するパスの順番に、 PATHEXT で定義されている拡張子の順番で探していくわけです。