Случайность или ошибка наименования

Случайность или ошибка наименования

В каталоге моего C:\Users\MEу меня есть каталог под названием C:\Users\ME\Invoices. Там я веду бухгалтерию и все такое. Однако я создал *.batфайл, назвал его Invoices.bat. Держу пари, все знают, куда это идет, в файле у меня был следующий скрипт:

start C:\Users\ME\Invoices

По какой-то причине Windows CMD зациклился и продолжал выдавать запросы CMD. К счастью, мой компьютер не завис, я закрыл окна. Однако эта проблема заставила меня заинтересоваться, конечно, у меня в PATH=C:\Users\ME. Была ли система в замешательстве относительно того, что запустить? Или это был тот факт, что у них было одинаковое имя, случайно я изменил *.batимя файла на , Bookkeeping.batи он выполнился нормально? Я хотел бы узнать ваше мнение о проблеме, является ли это случайностью или ошибкой с одинаковым именем. Я хотел бы отметить, что я пробовал это и с запущенным explorer.exe, и с не запущенным.

решение1

Отstart

При выполнении командной строки, первый токен которой НЕ содержит расширения, CMD.EXE использует значение переменной среды PATHEXT для определения того, какие расширения искать и в каком порядке. Значение по умолчанию для переменной PATHEXT:

    .COM;.EXE;.BAT;.CMD

Notice the syntax is the same as the PATH variable, with
semicolons separating the different elements.

А также

При поиске исполняемого файла, если нет совпадений по любому расширению, проверяется, совпадает ли имя с именем каталога. Если совпадает, команда START запускает Explorer по этому пути. Если это делается из командной строки, это эквивалентно выполнению CD /D по этому пути.

Так что да, это потому, что имя вашего файла совпадает с именем папки.

Связанный контент