Порядок, в котором в командной строке выполняются файлы с одинаковыми именами (a.bat vs a.cmd vs a.exe)
В каком порядке командная строка Windows выполняет файлы с одинаковыми именами, но с разными расширениями?
Например, у меня есть куча исполняемых файлов (что-то. Cmd, что-то.bat, что-то.exe). Что из этого будет выполнено, когда я наберу "что-то" в командной строке (если они были в пути и т. Д.)? Если этот файл не существует, какой из них будет выполняться?
Есть ли ссылка, которая описывает это?
1 ответ
Хорошо, я сделал несколько быстрых экспериментов, основанных на некоторых других поисках, которые я проводил.
Суть в том, что порядок команд зависит от порядка, в котором расширения хранятся в переменной среды PATHEXT. Итак, изначально у меня было:
PATHEXT=.COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH;.RB;.RBW
и для примера выше порядок, в котором он будет выполняться, был:
something.exe
something.bat
something.cmd
Изменение порядка, в котором они были определены в переменной среды PATHEXT, действительно изменило порядок их выполнения.