COMMAND (command.com) — интерпретатор командной строки MS-DOS и ранних версий Windows 9x. В современных версиях Windows его роль полностью выполняет cmd.exe, однако понимание COMMAND важно при работе с устаревшим программным обеспечением, DOS-эмуляторами и исторической документацией.
- Синтаксис команды COMMAND
- Ключи и параметры
- Примеры использования
- Запуск однократной команды и выход
- Запуск скрипта с сохранением сессии
- Запуск постоянного интерпретатора с увеличенным окружением
- Вложенный интерпретатор для тестирования скрипта
- Запуск программы через DOSBox или эмулятор
- Частые ошибки и решения
- Когда применять, а когда нет
- FAQ
- Чем COMMAND отличается от CMD?
- Работает ли COMMAND в Windows 10 и Windows 11?
- Можно ли запустить COMMAND.COM в 64-битной Windows?
- Зачем нужен ключ /P?
- Как выйти из вложенного экземпляра COMMAND?
Синтаксис команды COMMAND
COMMAND [[диск:]путь] [устройство] [/E:nnnnn] [/P] [/C строка] [/K файл] [/MSG]
[диск:]путь — путь к каталогу, который COMMAND использует как корневой для поиска командных файлов.
устройство — устройство ввода-вывода для командной строки (например, CON, COM1).
Ключи и параметры
| Ключ | Описание | Пример |
|---|---|---|
/E:nnnnn | Задаёт начальный размер блока окружения (environment) в байтах. Диапазон: 160–32 768 | /E:2048 |
/P | Делает запущенный экземпляр постоянным — команда EXIT не закрывает его. Используется в AUTOEXEC.BAT | COMMAND /P |
/C строка | Выполняет указанную команду и немедленно завершает работу интерпретатора | COMMAND /C DIR C:\ |
/K файл | Выполняет указанный командный файл (.bat) и остаётся в интерактивном режиме после его завершения | COMMAND /K INIT.BAT |
/MSG | Хранит все сообщения об ошибках в памяти (требует /P). Используется при загрузке с дискеты | COMMAND /P /MSG |
Примеры использования
Запуск однократной команды и выход
Выполнить команду DOS и сразу завершить сессию COMMAND:
COMMAND /C DIR C:\WINDOWS
Аналог в современном CMD: cmd /C DIR C:\Windows. Интерпретатор запускается, выполняет DIR и закрывается.
Запуск скрипта с сохранением сессии
Выполнить BAT-файл инициализации и остаться в командной строке:
COMMAND /K C:\SCRIPTS\INIT.BAT
После выполнения INIT.BAT командная строка остаётся открытой для дальнейшей работы.
Запуск постоянного интерпретатора с увеличенным окружением
В CONFIG.SYS или AUTOEXEC.BAT DOS-систем:
COMMAND /P /E:4096
Интерпретатор не завершится по команде EXIT, а блок окружения увеличен до 4 096 байт — достаточно для длинных переменных PATH.
Вложенный интерпретатор для тестирования скрипта
Запустить новый экземпляр COMMAND внутри текущей сессии:
COMMAND
Открывается дочерний интерпретатор. Команда EXIT закрывает его и возвращает в родительскую сессию, не затрагивая её переменные окружения.
Запуск программы через DOSBox или эмулятор
При использовании DOSBox для запуска старых программ COMMAND.COM монтируется вместе с диском:
MOUNT C C:\DOSGAMES C: COMMAND /K GAME.BAT
Инициализируется DOS-окружение, выполняется стартовый скрипт игры, затем остаётся доступной командная строка.
Частые ошибки и решения
| Ошибка / ситуация | Причина | Решение |
|---|---|---|
Bad command or file name | Команда не поддерживается COMMAND.COM или не найдена в PATH | Проверьте PATH; используйте только команды, совместимые с MS-DOS; убедитесь, что имя файла в формате 8.3 |
| COMMAND.COM не найден при загрузке DOS | Файл удалён или повреждён; неверно указан путь в SHELL= в CONFIG.SYS | Восстановите COMMAND.COM с загрузочного носителя; проверьте строку SHELL=C:\COMMAND.COM /P в CONFIG.SYS |
| Переменные окружения обрезаются | Размер блока окружения слишком мал (по умолчанию 256 байт) | Увеличьте через /E:nnnn или добавьте SHELL=COMMAND.COM /E:2048 /P в CONFIG.SYS |
В Windows 10/11 команда COMMAND открывает CMD | В современных Windows COMMAND.COM запускает cmd.exe через обёртку совместимости | Это нормальное поведение; используйте cmd.exe напрямую |
| Длинные имена файлов не распознаются | COMMAND.COM поддерживает только формат 8.3 (8 символов имени + 3 расширение) | Используйте короткие имена файлов или 8.3-псевдонимы; в CMD такой проблемы нет |
Когда применять, а когда нет
COMMAND (command.com) актуален исключительно в DOS-окружениях: загрузочные дискеты MS-DOS/FreeDOS, эмуляторы DOSBox и PCem, встроенное ПО промышленных устройств на базе DOS. В Windows XP и более поздних версиях COMMAND.COM — лишь оболочка-заглушка, перенаправляющая вызовы к cmd.exe. Для всех задач в современной Windows используйте cmd.exe (32/64-битный, поддерживает длинные пути и Unicode) или PowerShell. Ни COMMAND, ни CMD не требуют прав администратора для запуска, но отдельные команды внутри них — требуют.
FAQ
Чем COMMAND отличается от CMD?
COMMAND.COM — 16-битный интерпретатор MS-DOS, поддерживает только имена файлов в формате 8.3 и ограниченный набор встроенных команд. CMD.EXE — 32/64-битный интерпретатор Windows NT, поддерживает длинные имена, Unicode, скрипты .bat и .cmd, переменные окружения большого объёма и расширенные команды (FOR /F, SETLOCAL и др.).
Работает ли COMMAND в Windows 10 и Windows 11?
Формально да: при вводе command в строке «Выполнить» откроется CMD. Оригинальный 16-битный COMMAND.COM без эмулятора не запустится на 64-битных Windows — 64-битная подсистема не поддерживает 16-битные приложения. Для запуска DOS-программ используйте DOSBox.
Можно ли запустить COMMAND.COM в 64-битной Windows?
Нет. 64-битные версии Windows не имеют подсистемы NTVDM (NT Virtual DOS Machine), поэтому 16-битный COMMAND.COM не запустится. Решение — эмулятор DOSBox или 32-битная виртуальная машина с Windows XP.
Зачем нужен ключ /P?
Ключ /P делает COMMAND постоянным интерпретатором оболочки: команда EXIT не завершает его. Использовался в строке SHELL= в CONFIG.SYS, чтобы пользователь не мог случайно закрыть командную строку при загрузке DOS.
Как выйти из вложенного экземпляра COMMAND?
Введите EXIT. Если COMMAND запущен без ключа /P, он завершится и вернёт управление родительскому процессу. Если с /P — EXIT не сработает, это намеренное ограничение.


