какие типы исполняемых файлов в windows / cmd? и каковы их приоритеты?

#windows #command-line #executable

#Windows #командная строка #исполняемый файл

Вопрос:

Например, если в пути имеется несколько исполняемых файлов, т.Е. a.exe , a.bat и пользователь вводит ‘a’ (enter), какой файл будет выполнен?

Какие другие исполняемые форматы поддерживаются в Windows?

Комментарии:

1. Спасибо за ваши ответы, но это три разных ответа, которые все выглядят правильно. Не могли бы вы все сойтись на одном?

2. Что касается первого вопроса («какие типы исполняемых файлов») и последнего вопроса («Какие другие исполняемые форматы»), эти внешние вопросы (хотя и не средний вопрос о приоритетах) в основном дублируются у более старого суперпользователя: в Windows какие расширения имен файлов обозначают исполняемый файл ? .

Ответ №1:

Windows просматривает переменную PATHEXT среды, чтобы решить, какие типы файлов считаются исполняемыми:

 > echo %PATHEXT%
.COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH;.MSC
  

Будет выполнен первый соответствующий файл по пути, который имеет одно из этих расширений.

Вы можете использовать команды assoc и ftype , чтобы узнать, как будет выполняться файл:

 > assoc .msc
.msc=MSCFile

> ftype MSCFile
MSCFile=%SystemRoot%system32mmc.exe "%1" %*
  

(Вы можете использовать PATHEXT assoc и ftype , чтобы сделать любой тип файла исполняемым.)

Комментарии:

1. Вы забыли * .msi ?

2. @ComputerUser: Интересно! У меня нет .msi в моем PATHEXT , но Windows выполняет поиск PATH по ним. Очевидно, что мой ответ неполный, но я не знаю, чего не хватает.

Ответ №2:

Приоритет: DOSKEY Macro .COM .EXE .BAT

http://support.microsoft.com/kb/35284

Комментарии:

1. Этот ответ для MS-DOS. Windows отличается.

2. Нет; это то же самое для Windows.

3. Согласно статье KB, это применимо только к MS-DOS от 4.0 до 6.22.