For example if there are multiple executable files on the path i.e., a.exe, a.bat and user types \'a\' (enter), which file will execute?
What other executable format
Windows looks at the PATHEXT
environment variable to decide which file types are considered executable:
> echo %PATHEXT%
.COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH;.MSC
The first matching file on the path that has one of those extensions will be executed.
You can use the assoc
and ftype
commands to find out how the file will be executed:
> assoc .msc
.msc=MSCFile
> ftype MSCFile
MSCFile=%SystemRoot%\system32\mmc.exe "%1" %*
(You can use PATHEXT
, assoc
and ftype
to make any file type executable.)