stringtranslate.com

КОМАНД.КОМ

Command.com, работающий в консоли Windows в Windows 95 (подсказка MS-DOS)

COMMAND.COM — это интерпретатор командной строки по умолчанию для MS-DOS , Windows 95 , Windows 98 и Windows Me . В случае DOS это также пользовательский интерфейс по умолчанию. Он выполняет дополнительную роль обычной первой программы, запускаемой после загрузки (процесс инициализации), следовательно, отвечает за настройку системы путем запуска файла конфигурации AUTOEXEC.BAT и является предком всех процессов.

Преемником COMMAND.COM в системах OS/2 и Windows NT является cmd.exe , хотя COMMAND.COM доступен и на виртуальных машинах DOS в версиях IA-32 этих операционных систем.

Имя файла COMMAND.COM также использовалось программой управления дисками  [de] (DCP), производной MS-DOS от бывшего восточногерманского VEB Robotron . [2]

Совместимый командный процессор FreeDOS иногда также называют FreeCom .

COMMAND.COM — программа для DOS. Программы, запускаемые с COMMAND.COM, представляют собой программы DOS, которые используют DOS API для связи с дисковой операционной системой.

Режимы работы

COMMAND.COM как оболочка имеет два различных режима работы. Первый — интерактивный режим , в котором пользователь вводит команды, которые затем немедленно выполняются. Второй — пакетный режим , который выполняет предопределённую последовательность команд, хранящуюся в виде текстового файла с расширением .BAT .

Внутренние команды

Внутренние команды — это команды, хранящиеся непосредственно внутри двоичного файла COMMAND.COM. Таким образом, они всегда доступны, но могут быть выполнены только непосредственно из командного интерпретатора.

Все команды выполняются после ↵ Enterнажатия клавиши в конце строки. COMMAND.COM не чувствителен к регистру, то есть команды можно вводить в любом сочетании верхнего и нижнего регистра.

ПЕРЕРЫВ
Управляет обработкой прерывания программы с помощью + или + .CtrlCCtrlBreak
CHCP
Отображает или изменяет текущую кодовую страницу системы .
ЧДИР, CD
Изменяет текущий рабочий каталог или отображает текущий каталог.
ЦЛС
Очищает экран.
КОПИРОВАТЬ
Копирует один файл в другой (если файл назначения уже существует, MS-DOS спрашивает, заменить ли его). (См. также XCOPY — внешняя команда, которая также может копировать деревья каталогов).
CTTY
Определяет устройство, которое будет использоваться для ввода и вывода.
ДАТА
Отображение и установка даты системы.
УДАЛИТЬ, СТЕРЕТЬ
Удаляет файл. При использовании в каталоге удаляет все файлы только внутри каталога. Для сравнения, внешняя команда DELTREE удаляет все подкаталоги и файлы внутри каталога, а также сам каталог.
НАПРАВЛЕНИЕ
Перечисляет файлы в указанном каталоге.
ЭХО
Переключает отображение текста ( ECHO ON) или нет ( ECHO OFF). Также отображает текст на экране ( ECHO text).
ВЫХОД
Выход из COMMAND.COM и возврат в программу, которая его запустила.
ЛФНФОР
Включает или отключает возврат длинных имен файлов по команде FOR. ( Виндовс 9х ).
ВЫСОКАЯ НАГРУЗКА, ЛЕВ.
Загружает программу в верхнюю память ( HILOADв DR DOS ).
ЗАМОК
Позволяет внешним программам выполнять низкоуровневый доступ к диску тома. ( только MS-DOS 7.1 и Windows 9x )
МКДИР, доктор медицинских наук
Создает новый каталог.
ПУТЬ
Отображает или изменяет значение переменной среды PATH , которая управляет местами, в которых COMMAND.COM будет искать исполняемые файлы.
БЫСТРЫЙ
Отображает или изменяет значение переменной среды PROMPT, которая управляет внешним видом приглашения.
ПЕРЕИМЕНОВАТЬ, РЕН
Переименовывает файл или каталог.
РМДИР, РД
Удаляет пустой каталог.
НАБОР
Устанавливает значение переменной среды ; без аргументов показывает все определенные переменные среды.
ВРЕМЯ
Отображение и установка времени системы.
ИСТИННОЕ ИМЯ
Отобразить полностью развернутое физическое имя файла, разрешая сопоставления логических файловых систем ASSIGN , JOIN и SUBST . [3]
ТИП
Отобразить содержимое файла на консоли.
РАЗБЛОКИРОВАТЬ
Отключает низкоуровневый доступ к диску. ( только MS-DOS 7.1 и Windows 9x )
ВЕР
Отображает версию операционной системы .
ПРОВЕРЯТЬ
Включите или отключите проверку записи файлов.
ОБЪЕМ
Показывает информацию о томе.

Команды пакетного файла

Структуры управления в основном используются внутри пакетных файлов, хотя их также можно использовать в интерактивном режиме. [4] [3]

: этикетка
Определяет цель для GOTO.
ВЫЗОВ
Выполняет другой пакетный файл, возвращается к старому и продолжает работу.
ДЛЯ
Итерация: повторяет команду для каждого из указанного набора файлов.
ИДТИ К
Перемещает выполнение на указанную метку. Метки указываются в начале строки через двоеточие ( :likethis).
ЕСЛИ
Условный оператор, допускающий ветвление выполнения программы.
ПАУЗА
Останавливает выполнение программы и отображает сообщение, предлагающее пользователю нажать любую клавишу для продолжения.
быстрый сон
комментарий : любой текст, следующий за этой командой, игнорируется.
СДВИГ
Заменяет каждый из заменяемых параметров на последующий (например , %0на , на и т.д.).%1%1%2

ЕСЛИ команда

При выходе все внешние команды передают код возврата (значение от 0 до 255) вызывающей программе. Большинство программ имеют определенное соглашение о кодах возврата (например, 0 для успешного выполнения). [5] [6] [7] [8]

Если программа была вызвана COMMAND.COM, внутренняя команда IF с условием ERRORLEVEL может использоваться для проверки условий ошибки последней вызванной внешней программы.

В COMMAND.COM внутренние команды не устанавливают новое значение.

Переменные

Пакетные файлы COMMAND.COM могут иметь четыре типа переменных:

Перенаправление, конвейеризация и цепочка

Поскольку DOS является однозадачной операционной системой, конвейеризация достигается путем последовательного запуска команд с перенаправлением во временный файл и из него . COMMAND.COM не предусматривает перенаправления стандартного канала ошибок .

command < filename
Перенаправление стандартного ввода из файла или устройства
command > filename
Перенаправить стандартный вывод , перезаписав целевой файл, если он существует.
command >> filename
Перенаправить стандартный вывод , добавив его в целевой файл, если он существует.
command1 | command2
Перенаправить стандартный вывод команды 1 на стандартный ввод команды 2.
command1command2
Команды, разделенные символом ASCII-20 (¶, вызываются + ), выполняются последовательно (цепочка команд). [3] Другими словами, первая команда1 выполняется до завершения, затем команда2 . [3] Это недокументированная функция COMMAND.COM в MS-DOS / PC DOS 5.0 и выше. [3] Он также поддерживается COMMAND.COM семейства Windows NT, а также DR-DOS 7.07. Все версии DR-DOS COMMAND.COM уже поддерживали аналогичную внутреннюю функцию с использованием вместо нее восклицательного знака (!) (функция, первоначально полученная из Concurrent DOS и Multiuser DOS ) — в однопользовательской линейке эта функция была доступна только внутри (в встроенные сценарии запуска, такие как «!DATE!TIME»), и косвенно через параметр $T DOSKEY , чтобы избежать проблем с ! как допустимый символ имени файла. [3] 4DOS поддерживает настраиваемый разделитель командной строки ( 4DOS.INI CommandSep= или SETDOS /C), который по умолчанию равен ^. [10] COMMAND.COM в новых версиях Windows NT также поддерживает разделитель для совместимости с синтаксисом cmd в OS/2 и семействе Windows NT. [10] (cmd не поддерживает разделитель ¶.)CtrlT &

Ограничения

Обычно длина командной строки в интерактивном режиме ограничена 126 символами. [11] [12] [13] В MS-DOS 6.22 длина командной строки в интерактивном режиме ограничена 127 символами.

В популярной культуре

Сообщение «Загрузка COMMAND.COM» можно увидеть в HUD Терминатора и во внутреннем окне просмотра Робокопа , когда он перезагружается.

В компьютерном анимационном детском сериале «ReBoot» , действие которого происходит внутри компьютеров, лидера системы (эквивалент города) называют COMMAND.COM.

Смотрите также

Рекомендации

  1. ^ MS-DOS/COMMAND.ASM в мастере · microsoft/MS-DOS · GitHub
  2. ^ Курт, Рюдигер; Гросс, Мартин; Голод, Генри (29 ноября 2016 г.) [2007]. «Бетрибссистем ДКП». www.robotrontechnik.de (на немецком языке). Архивировано из оригинала 3 апреля 2019 г. Проверено 28 апреля 2019 г.
  3. ^ abcdefgh Пол, Матиас Р. (30 июля 1997 г.) [1 мая 1994 г.]. NWDOS-TIPs — советы и подсказки для Novell DOS 7, с просмотром недокументированных подробностей, ошибок и обходных путей. Выпуск 157 (на немецком языке) (3-е изд.). Архивировано из оригинала 4 ноября 2016 г. Проверено 6 августа 2014 г. {{cite book}}: |work=игнорируется ( help ) (Примечание. Предоставленная ссылка указывает на преобразованную в HTML версию файла NWDOSTIP.TXT, которая является частью MPDOSTIP.ZIPколлекции.) [1]
  4. ^ ab «Глава 7: Пакетная обработка». Руководство пользователя Caldera DR-DOS 7.02 . Caldera, Inc., 1998 г. [1993, 1997]. Архивировано из оригинала 11 сентября 2017 г. Проверено 11 сентября 2017 г.
  5. ^ Пол, Матиас Р. (1 мая 1997 г.) [01 октября 1993 г.]. BATTIPs — Советы и рекомендации по программированию пакетных заданий (на немецком языке). Глава 7: ОШИБКА abfragen. Архивировано из оригинала 23 августа 2017 г. Проверено 23 августа 2017 г. {{cite book}}: |work=игнорируется ( помощь ) (Примечание. BATTIPS.TXT является частью MPDOSTIP.ZIP. Предоставленная ссылка указывает на более старую версию файла BATTIPS.TXT, преобразованную в HTML.) [2]
  6. ^ Ауэр, Эрик; Пол, Матиас Р.; Холл, Джим (24 декабря 2015 г.) [31 декабря 2003 г.]. «Уровни ошибок MS-DOS». Архивировано из оригинала 24 декабря 2015 г.
  7. ^ Пол, Матиас Р. (2003) [1997]. Ауэр, Эрик (ред.). «Коды выхода (уровни ошибок) утилит DOS». Архивировано из оригинала 11 сентября 2017 г. Проверено 11 сентября 2017 г.[3]
  8. ^ Аллен, Уильям; Аллен, Линда. «Windows 95/98/ME ОШИБКИ». Архивировано из оригинала 29 октября 2005 г.
  9. ^ Руководство пользователя Caldera DR-DOS 7.02. Caldera, Inc., 1998 г. [1993, 1997]. Архивировано из оригинала 4 ноября 2016 г. Проверено 10 августа 2013 г.
  10. ^ абв

    […] Несколько команд: вы можете ввести несколько команд в одной командной строке, разделив их курсором [^]. Например, если вы знаете, что хотите скопировать все ваши файлы .TXT на диск A:, а затем запустить CHKDSK, чтобы убедиться, что файловая структура диска A находится в хорошем состоянии, вы можете ввести следующую команду: Вы можете ввести столько команд, сколько нужно . в командной строке по вашему желанию, если общая длина командной строки не превышает 511 символов. Вы можете использовать несколько команд в псевдонимах и пакетных файлах, а также в командной строке. Если вам не нравится использовать разделитель команд по умолчанию, вы можете выбрать другой символ с помощью команды или директивы CommandSep в 4DOS.INI . […] (Составной символ) Эта опция устанавливает символ, используемый для разделения нескольких команд в одной строке. По умолчанию используется каретка [^]. В качестве разделителя команд нельзя использовать символы перенаправления [<>|], пробел, табуляцию, запятую или знак равенства. Разделитель команд сохраняется с помощью SETLOCAL и восстанавливается с помощью ENDLOCAL. В этом примере разделитель заменяется на тильду [~]: (Вы можете указать либо сам символ, либо его код ASCII в виде десятичного числа, либо шестнадцатеричного числа, которому предшествует 0x.) […] CommandSep = c (^): Это — это символ, используемый для разделения нескольких команд в одной строке. […] Совместимость специальных символов: если вы используете два или более наших продуктов или хотите использовать псевдонимы и командные файлы совместно с пользователями разных продуктов, вам необходимо учитывать различия в трех важных символах: разделитель команд [ …], escape-символ […] и символ параметра […]. Значения по умолчанию каждого из этих символов в каждом продукте показаны в следующей таблице: […] Продукт, Разделитель, Escape-параметр […] 4DOS: ^, ↑, & […] 4OS2, 4NT, Take Command: &, ^ , $ […] (Стрелка вверх [↑] представляет символ ASCII Ctrl-X, числовое значение 24.) […]C:\>COPY *.TXT A: ^ CHKDSK A:SETDOS /CSETDOS /C:C:\>SETDOS /C~

    —  Братья Хардин; Роусон, Том ; Конн, Рекс К .; Пол, Матиас Р.; Дай, Чарльз Э.; Георгиев, Лучезар И. (27 февраля 2002 г.). Онлайн-справка по 4DOS 8.00 .
  11. ^ Пол, Матиас Р. (1 июля 1997 г.) [1 января 1994 г.]. MSDOSTIPs — Советы по работе с MS-DOS 5.0-7 (на немецком языке). Архивировано из оригинала 22 августа 2017 г. Проверено 25 октября 2013 г. {{cite book}}: |work=игнорируется ( помощь ) (Примечание. MSDOSTIP.TXT является частью MPDOSTIP.ZIP, поддерживался до 2001 года и в то время распространялся на многих сайтах. Предоставленная ссылка указывает на более старую версию файла MSDOSTIP.TXT, преобразованную в HTML.) [4]
  12. ^ Пол, Матиас Р. (1 мая 1997 г.) [1 марта 1995 г.]. «Подсказки по JPSofts 4DOS 5.5b/c, 5.51, 5.52a и NDOS». МПДОСТИП (на немецком языке). Архивировано из оригинала 4 ноября 2016 г. Проверено 8 мая 2015 г.(Примечание. Предоставленная ссылка указывает на преобразованную в HTML версию файла 4DOS5TIP.TXT, которая является частью MPDOSTIP.ZIPколлекции.) [5]
  13. ^ Шульман, Эндрю; Браун, Ральф Д .; Макси, Дэвид; Михелс, Раймонд Дж.; Кайл, Джим (1994) [ноябрь 1993 г.]. Недокументированная DOS: Руководство программиста по зарезервированным функциям и структурам данных MS-DOS - расширено и включает MS-DOS 6, Novell DOS и Windows 3.1 (2-е изд.). Ридинг, Массачусетс, США: Эддисон Уэсли . стр. 623, 626. ISBN. 0-201-63287-Х.(xviii+856+vi страниц, 3,5-дюймовая дискета) Исправления: [6][7]

дальнейшее чтение

[…] все версии MS-DOS до Windows 95 […] использовали файл COMMAND.COM в стиле COM, который имеет специальную подпись в начале файла […], запрашиваемую BIOS MS-DOS перед загрузкой оболочки, но не с помощью BIOS DR-DOS […] COMMAND.COM […] проверит, что он работает в «правильной» версии DOS, поэтому, если вы загрузите их COMMAND.COM под DR-DOS, вы получите сообщение « Сообщение об ошибке «Плохая версия», и их COMMAND.COM завершится, поэтому DR-DOS […] отобразит сообщение об ошибке «Плохой или отсутствующий интерпретатор команд» (если DR-DOS пытался загрузить командный процессор SHELL= после завершения CONFIG обработка .SYS). В этом случае вы могли ввести путь к допустимому DR-DOS COMMAND.COM (C:\DRDOS\COMMAND.COM), и всё было в порядке. Теперь все изменилось с MS-DOS 7.0 […] COMMAND.COM внутренне стал файлом стиля EXE, поэтому нет никакой волшебной […] подписи […] для проверки […] поэтому у DR-DOS нет возможности управлять вышел несовместимый COMMAND.COM. Кроме того, их COMMAND.COM больше не выполняет никаких проверок версий, но […] не работает под DR-DOS […] просто вылетает […] PC DOS COMMAND.COM прекрасно работает под DR-DOS […]

Пол, Матиас Р. (17 июня 2004 г.). «Re: Случайные зависания в DR-DOS 7.03». Конференция FidoNet : ALT_DOS . Архивировано из оригинала 28 апреля 2019 г. Проверено 28 апреля 2019 г.

Внешние ссылки