Ответ 1
Хорошо, я сделал несколько быстрых экспериментов, основанных на некоторых других поисковых процессах, которые у меня были.
Суть в том, что порядок команд зависит от порядка, в котором расширения хранятся в переменной среды PATHEXT. Поэтому изначально у меня было:
PATHEXT=.COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH;.RB;.RBW
а для примера выше порядок его запуска:
something.exe
something.bat
something.cmd
Изменение порядка, который они определили в переменной среды PATHEXT, действительно изменило порядок их выполнения.