COMMAND.COM


COMMAND.COM — интерпретатор командной строки в операционных системах DOS, OS/2, семейства Windows 9x и ряда других. Загружается при старте системы или VDM (если не указан другой интерпретатор с помощью директивы SHELL= в файле CONFIG.SYS) и выполняет команды из файла AUTOEXEC.BAT.[1]

В операционных системах семейства Windows NT (начиная с Windows NT 3.1 и заканчивая Windows 11 / Windows Server 2012) и OS/2 интерпретатором командной строки является программа cmd.exe. Однако, для совместимости с DOS-приложениями, COMMAND.COM присутствует и в версиях этих систем для процессоров архитектуры IA-32.

COMMAND.COM имеет два режима работы. Первый режим — интерактивный, когда пользователь вводит с клавиатуры команды, которые немедленно выполняются. Второй режим — пакетный, когда COMMAND.COM выполняет последовательность команд, заранее сохранённую в пакетном файле с расширением .BAT. Функции COMMAND.COM аналогичны функциям командных интерпретаторов Unix-совместимых операционных систем (например, bash), с тем отличием, что COMMAND.COM имеет более ограниченный набор возможностей.[2][3]

Команды COMMAND.COM делятся на внутренние, и внешние. Внутренние команды поддерживаются самим COMMAND.COM, внешние команды являются файлами, которые хранятся на дисках и имеют расширение .COM, .EXE или .BAT.[4][5]

Часть внутренних команд используются в пакетных файлах для их оформления, организации их работы и для управления последовательностью выполнения прочих команд. Среди них:

COMMAND.COM может быть запущена не только в ходе начальной загрузки, но и, подобно любому исполняемому файлу MS-DOS, другой программой с помощью стандартной функции MS-DOS EXEC (функция 4bH прерывания 21H). При запуске без параметров запускается экземпляр интерпретатора, и управление передаётся пользователю, который может закрыть этот экземпляр и вернуть управление породившей его программе, введя команду EXIT. Но намного чаще используется запуск COMMAND.COM из других программ с параметрами /C и (реже) /K.