Order in which command prompt executes files with the same name (a.bat vs a.cmd vs a.exe)
-
03-07-2019 - |
Question
What is the order in which the Windows command prompt executes files with the same name, but different extensions?
For example, I have a bunch of executable files: something.cmd
, something.bat
and something.exe
. Which of these would be executed when I typed something
into a command prompt (given they were on the path, etc.)? If that file did not exist which one would then be executed?
Is there a reference that describes this?
Solution
Okay, I did some quick experimentation based on some other searches I had going.
The gist is that the order of the commands is dependent on the order the extensions are stored in the PATHEXT environment variable. So initially I had:
PATHEXT=.COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH;.RB;.RBW
and for the example above the order in which it would run it was:
something.exe
something.bat
something.cmd
Changing the order which they were defined in the PATHEXT environment variable did indeed change the order in which they were executed.