- COMMAND.COM
-
COMMAND.COM Тип Разработчик Операционная система DOS (MS-DOS, DR-DOS, FreeDOS и т. д.), OS/2, Windows 9x и др.
Языки интерфейса Мультиязычный
COMMAND.COM — интерпретатор командной строки в операционных системах DOS, OS/2, семейства Windows 9x и ряда других. Загружается при старте системы или VDM (если не указан другой интерпретатор с помощью директивы SHELL= в файле CONFIG.SYS) и выполняет команды из файла AUTOEXEC.BAT.[1]
В операционных системах Windows NT/2000/XP/2003 и OS/2 интерпретатором командной строки является программа cmd.exe. Однако, для совместимости с DOS-приложениями, COMMAND.COM присутствует и в этих системах.
Содержание
Режимы работы
COMMAND.COM имеет два режима работы. Первый режим — интерактивный, когда пользователь вводит с клавиатуры команды, которые немедленно выполняются. Второй режим — пакетный, когда COMMAND.COM выполняет последовательность команд, заранее сохранённую в пакетном файле с расширением .BAT. Функции COMMAND.COM аналогичны функциям командных интерпретаторов Unix-совместимых операционных систем (например, bash), с тем отличием, что COMMAND.COM имеет более ограниченный набор возможностей.[2][3]
Команды
Команды COMMAND.COM делятся на внутренние, и внешние. Внутренние команды поддерживаются самим COMMAND.COM, внешние команды являются файлами, которые хранятся на дисках и имеют расширение .COM, .EXE или .BAT.[4][5]
Часть внутренних команд используются в пакетных файлах для их оформления, организации их работы и для управления последовательностью выполнения прочих команд. Среди них:
- :имя_метки
- Задание имени метки для команды
GOTO
. Часто используется и в качестве комментария. - FOR
- Повтор некоторой команды для каждого файла из заданного списка.
- GOTO
- Переход к метке внутри пакетного файла.
- REM
- Комментарий: любой текст в строке после этой команды игнорируется.
- IF
- Задание условия, в зависимости от которого происходит выполнение разных команд.
- CALL
- Приостановка выполнения текущего командного файла, запуск другого, по окончании работы вызванного файла возобновление выполнения текущего файла.[6]
- START
- Запуск исполняемого или командного файла, указанного в параметре этой команды, без ожидания завершения его выполнения.
Переменные
Пакетные файлы для COMMAND.COM имеют четыре типа переменных:
- ERRORLEVEL содержит код возврата последней из запущенных программ (к примеру, в языке программирования Си код можно вернуть с помощью
return
в функции main).[7][8] Как правило, ERRORLEVEL используется для индикации ошибок при работе программы и код 0 означает успешное завершение. Но это относится в основном к утилитам командной строки (которые ориентированы на использование в пакетных файлах), прикладные программы обычно не заботятся о возврате конкретных значений, поэтому после них в ERRORLEVEL всегда оказывается нулевое значение или даже мусор.[9][10] В оригинальном COMMAND.COM код возврата можно было проверить только с помощью конструкцииIF ERRORLEVEL
[11], однако в некоторых клонах DOS, а также Windows семейства NT, добавлена возможность обращения к ERRORLEVEL как к обычной переменной.[12][13] - Переменные могут быть заданы с помощью команды
SET
.[14] Чтобы получить их значение, нужно имя переменной окружить знаками % (например,%path%
), в этом случае в месте использования такой конструкции будет подставлено значение переменной.[15] Некоторые из этих переменных стандартизованы (PROMPT, PATH, TEMP и т. п.), некоторые задаются системой (CONFIG), остальные задаются и используются пользователями. Хранятся эти переменные в «окружении» (environment) и называются «переменными окружения».[16] - Аргументы пакетных файлов в самих пакетных файлах доступны как %1…%9.[17] Переменная %0 содержит текст команды (без аргументов), использованной для запуска пакетного файла.[18]
- Переменные для команды
FOR
имеют вид %%a и используются в пакетных файлах совместно с этой командой.[18]
См. также
Примечания
- ↑ Q95554: Not Using the /P Switch with the SHELL Command (англ.). Microsoft (18 января 2007). — См.: Background Information on SHELL and /P. Архивировано из первоисточника 14 февраля 2012. Проверено 15 января 2010.
- ↑ 5.2 Command Execution (англ.). GNU Make Manual. Delorie (англ.) (июнь 2003). — «The stock shell, `command.com', is ridiculously limited in its functionality and many users of make tend to install a replacement shell» Проверено 16 января 2010.
- ↑ «batch files are much more limited than their UNIX counterparts» // Colin Ritchie. User Interface // Operating systems incorporating UNIX and Windows. — 4-е изд. — Cengage Learning EMEA, 2003. — P. 41. — 279 p. — ISBN 0-82-646416-5, ISBN 978-0-8264-6416-3
- ↑ Q71986: MS-DOS 5.0 Internal and External Commands (англ.). Microsoft (3 декабря 1999). Архивировано из первоисточника 14 февраля 2012. Проверено 15 января 2010.
- ↑ Batch Commands (англ.). TechNet Library → MS-DOS. Microsoft. Архивировано из первоисточника 14 февраля 2012. Проверено 15 января 2010.
- ↑ Если вызвать из пакетного файла другой пакетный файл напрямую, без помощи команды
CALL
, то возврата из вызванного пакетного файла не будет, он заменит первый пакетный файл. - ↑ Q57658: Setting the MS-DOS Errorlevel in a Program (англ.). Microsoft (12 мая 2003). Архивировано из первоисточника 14 февраля 2012. Проверено 15 января 2010.
- ↑ Main() Return Values (C# Programming Guide) (англ.). Microsoft (июль 2009). Архивировано из первоисточника 14 февраля 2012. Проверено 15 января 2010.
- ↑ Q81819: Exit Codes or Errorlevels Set by MS-DOS Commands (англ.). Microsoft (16 ноября 2006). Архивировано из первоисточника 14 февраля 2012. Проверено 15 января 2010.
- ↑ Q41533: Basic 7.00 Can Return Exit Code (Error Level) to Batch File (англ.). Microsoft (21 ноября 2006). Архивировано из первоисточника 14 февраля 2012. Проверено 15 января 2010.
- ↑ Q69576: Testing for a Specific Error Level in Batch Files (англ.). Microsoft (16 ноября 2006). Архивировано из первоисточника 14 февраля 2012. Проверено 15 января 2010.
- ↑ Using System Information (англ.). Caldera DR-DOS 7.03 User Guide → Chapter 7 Batch Processing. Caldera (1998). Архивировано из первоисточника 14 февраля 2012. Проверено 15 января 2010.
- ↑ If (англ.). Windows XP Professional Product Documentation. Microsoft. Архивировано из первоисточника 14 февраля 2012. Проверено 15 января 2010.
- ↑ Set (англ.). TechNet Library → MS-DOS. Microsoft. — Описание команды SET. Архивировано из первоисточника 14 февраля 2012. Проверено 15 января 2010.
- ↑ Q41246: How to Use Environment Variable Substitution in Batch Files (англ.). Microsoft (10 мая 2003). Архивировано из первоисточника 14 февраля 2012. Проверено 15 января 2010.
- ↑ Q69846: DOS Environment Table Description; Basic’s ENVIRON Statement (англ.). Microsoft (16 августа 2005). — Технические детали реализации окружения. Архивировано из первоисточника 14 февраля 2012. Проверено 15 января 2010.
- ↑ Shift (англ.). TechNet Library → MS-DOS. Microsoft. — Описание команды SHIFT. Архивировано из первоисточника 14 февраля 2012. Проверено 15 января 2010.
- ↑ 1 2 Q75634: Percent Signs Stripped from Batch File Text (англ.). Microsoft (10 мая 2003). Архивировано из первоисточника 14 февраля 2012. Проверено 15 января 2010.
Ссылки
- Урок bat-аники RSDN
- MDGx / AXCEL216. COMMAND.COM (англ.). Windows 95/98/NT4/2000/ME/XP/2003 + DOS 7.xx/8.00 Tricks + Secrets Files. — Список всех опций COMMAND.COM, включая недокументированные. Проверено 16 января 2010.
Компоненты Microsoft Windows Основные Aero • ClearType • Диспетчер рабочего стола • DirectX • Панель задач (Пуск • Область уведомлений) • Проводник (Пространство имён • Специальные папки • Ассоциации файлов) • Windows Search (Smart folders • iFilters) • GDI • WIM • SMB • .NET Framework • XPS • Active Scripting (WSH • VBScript • JScript) • COM (OLE • DCOM • ActiveX • Структурированное хранилище • Сервер транзакций) • Теневая копия • WDDM • UAA • Консоль Win32
Службы
управленияАрхивация и восстановление • COMMAND.COM • cmd.exe • Средство переноса данных • Просмотр событий • Установщик • netsh.exe • PowerShell • Отчёты о проблемах • rundll32.exe • Программа подготовки системы (Sysprep) • Настройка системы (MSConfig) • Проверка системных файлов • Индекс производительности • Центр обновления • Восстановление системы • Дефрагментация диска • Диспетчер задач • Диспетчер устройств • Консоль управления • Очистка диска • Панель управления (элементы)
Приложения Контакты • DVD Maker • Факсы и сканирование • Internet Explorer • Журнал • Экранная лупа • Media Center • Проигрыватель Windows Media • Программа совместной работы • Центр устройств Windows Mobile • Центр мобильности • Экранный диктор • Paint • Редактор личных символов • Удалённый помощник • Распознавание речи • WordPad • Блокнот • Боковая панель • Звукозапись • Календарь • Калькулятор • Ножницы • Почта • Таблица символов • Исторические: Movie Maker • NetMeeting • Outlook Express • Диспетчер программ • Диспетчер файлов • Фотоальбом
Игры Ядро ОС Ntoskrnl.exe • Слой аппаратных абстракций (hal.dll) • Бездействие системы • svchost.exe • Реестр • Службы • Диспетчер управления сервисами • DLL (формат модулей) • PE • NTLDR • Диспетчер загрузки • Программа входа в систему (winlogon.exe) • Консоль восстановления • Windows RE • Windows PE • Защита ядра от изменений
Службы Autorun.inf • Фоновая интеллектуальная служба передачи • Файловая система стандартного журналирования • Отчёты об ошибках • Планировщик классов мультимедиа • Теневая копия • Планировщик задач • Беспроводная настройка
Файловые
системыReFS • NTFS (Жёсткая ссылка • Точка соединения • Точка монтирования • Точка повторной обработки • Символьная ссылка • TxF • EFS) • WinFS • FAT • exFAT • CDFS • UDF • DFS • IFS
Сервер Active Directory • Службы развёртывания • Служба репликации файлов • DNS • Домены • Перенаправление папок • Hyper-V • IIS • Media Services • MSMQ • Защита доступа к сети (NAP) • Службы печати для UNIX • Удалённое разностное сжатие • Службы удаленной установки • Служба управления правами • Перемещаемые профили пользователей • SharePoint • Диспетчер системных ресурсов • Удаленный рабочий стол • WSUS • Групповая политика • Координатор распределённых транзакций
Архитектура Безопасность BitLocker • Защитник • Предотвращение выполнения данных • Обязательный контроль целостности • Защищенный канал данных • UAC • UIPI • Брандмауэр • Центр обеспечения безопасности • Защита файлов
Совместимость Подсистема UNIX (Interix) • Виртуальная машина DOS • Windows on Windows • WOW64
Категории:- Программное обеспечение по алфавиту
- DOS
- Скриптовые языки
- Программы с интерфейсом командной строки
- Командные оболочки
Wikimedia Foundation. 2010.