Подтвердить что ты не робот

Каков относительный порядок поиска Windows для исполняемых файлов в PATH?

Если у меня есть файлы a.com, a.cmd, a.bat и a.exe% PATH%, какой будет Windows, если я вызываю только команду "a"? Является ли это официально специфицированным где-то M $?

Мне просто нужно было слить исполняемый файл gvim.exe с -n, но мой gvim.bat, похоже, не запускается ни из командной строки, ни из диалогового окна Run.

4b9b3361

Ответ 1

Смотрите последовательность поиска команд в Microsoft Technet

Каждая переменная окружения PATH и PATHEXT предоставляет элемент последовательности поиска: PATH - это упорядоченный список каталогов "where", и PATHEXT - это упорядоченный список расширений файлов ( "что" ) для поиска (в если расширение не указано явно в командной строке). Однако перед использованием PATH выполняется поиск текущего каталога.

По умолчанию переменная PATHEXT имеет значение ".COM;.EXE;.BAT;.CMD"

Ответ 2

Подведено из ссылки Microsoft Technet, предоставленной mjv:

Windows будет проходить через каталоги в PATH слева направо (обычный порядок списка). В каждом из них он пытается найти файл с каждым PATHEXT также слева направо, прежде чем перейти к следующей записи PATH. Первый найденный файл выигрывает.

Итак, в вашем случае вам нужно изменить PATHEXT так, чтобы .BAT приходил к .EXE(или он всегда будет находить .exe сначала, а не .bat, который, скорее всего, захочет переопределить его, если в том же каталоге) а также поместите путь вашего "переопределить" gvim.bat раньше (раньше?) в листинге PATH, чем где-либо, где он мог бы найти gvim. * (потому что он пробует каждый PATHEXT в каждом перед тем, как продолжить PATH)

Ответ 3

Я считаю, что он проходит через% PATHEXT% и пробует каждый из этих