cmd.exe - это интерпретатор командной строки по умолчанию для операционных систем OS / 2 , [1] eComStation , ArcaOS , Microsoft Windows ( семейство Windows NT и Windows CE ) и ReactOS [2] . Имя относится к его исполняемому имени файла. Его также обычно называют cmd или Командная строка , имея в виду заголовок окна по умолчанию в Windows. Реализации различаются в разных системах, но поведение и базовый набор команд в целом одинаковы. cmd.exe является аналогом COMMAND.COMв системах DOS и Windows 9x и аналогично оболочкам Unix, используемым в Unix-подобных системах. Первоначальная версия cmd.exe для Windows NT была разработана Терезой Стоуэлл. [3] Windows CE 2.11 была первым встроенным выпуском Windows, который поддерживал консоль и версию cmd.exe для Windows CE . [4] В Windows CE .NET 4.2 , [5] Windows CE 5.0 [6] и Windows Embedded CE 6.0 [7] это также называется оболочкой командного процессора . Реализация cmd.exe в ReactOS происходит от FreeCOM, интерпретатора командной строки FreeDOS . [2]
Другие названия | Командный процессор Windows |
---|---|
Разработчики) | Соавторы Microsoft , IBM , ReactOS |
Первый выпуск | Декабрь 1987 г . |
Операционная система |
|
Платформа | IA-32 , x86-64 , ARM (и исторически DEC Alpha , MIPS , PowerPC и Itanium ) |
Предшественник | COMMAND.COM |
Тип | Интерпретатор командной строки |
Операция
cmd.exe взаимодействует с пользователем через интерфейс командной строки . В Windows этот интерфейс реализован через консоль Win32 . cmd.exe может использовать функции, доступные для собственных программ на его собственной платформе. Например, OS / 2 и Windows, он может использовать реальные трубы в командных трубопроводов, что позволяет обеим сторонам трубопровода могут работать одновременно. В результате можно перенаправить стандартный поток ошибок . ( COMMAND.COM использует временные файлы и последовательно запускает обе стороны, одну за другой.)
Несколько команд можно обрабатывать в одной командной строке с помощью разделителя команд. && . [8] Например:
C : \ > CommandA && CommandB && CommandC
В Windows XP или более поздней версии максимальная длина строки, которая может использоваться в командной строке, составляет 8191 символ. В более ранних версиях, таких как Windows 2000 или Windows NT 4.0 , максимальная длина строки составляет 2047 символов. Это ограничение включает командную строку, отдельные переменные среды , которые наследуются другими процессами , и все расширения переменных среды. [9]
Кавычки необходимы для следующих специальных символов : [8]
& <> [] {} ^ =; ! '+, `~ [пробел]
Внутренние команды
OS / 2
Ниже приведен список внутренних операционных систем Microsoft OS / 2. Команды cmd.exe : [10]
- перерыв
- chcp
- CD
- чдир
- cls
- копировать
- Дата
- дель
- отделить
- реж
- dpath
- эхо
- стереть
- выход
- для
- перейти к
- если
- мкр
- mkdir
- дорожка
- Пауза
- Подсказка
- rd
- rem
- Ren
- переименовать
- rmdir
- набор
- сдвиг
- Начало
- время
- тип
- вер
- проверять
- объем
Семейство Windows NT
Следующий список внутренних команд поддерживается cmd.exe в Windows NT и более поздних версиях: [11]
- ассоциированный
- перерыв
- вызов
- CD
- чдир
- cls
- цвет
- копировать
- Дата
- дель
- реж
- dpath
- эхо
- endlocal
- стереть
- выход
- для
- ftype
- перейти к
- если
- ключи
- мкр
- mkdir
- mklink (введено в Windows Vista)
- двигаться
- дорожка
- Пауза
- popd
- Подсказка
- толкать
- rd
- rem
- Ren
- переименовать
- rmdir
- набор
- setlocal
- сдвиг
- Начало
- время
- заглавие
- тип
- вер
- проверять
- объем
Windows CE
Следующий список команд поддерживается cmd.exe в Windows CE .NET 4.2, [12] Windows CE 5.0 [13] и Windows Embedded CE 6.0: [14]
- аттриб
- вызов
- CD
- чдир
- cls
- копировать
- Дата
- дель
- реж
- эхо
- стереть
- выход
- перейти к
- помощь
- если
- мкр
- mkdir
- двигаться
- дорожка
- Пауза
- Подсказка
- pwd
- rd
- rem
- Ren
- переименовать
- rmdir
- набор
- сдвиг
- Начало
- время
- заглавие
- тип
В дополнение net команда доступна как внешняя команда, хранящаяся в \ Windows \ net.exe .
ReactOS
Реализация ReactOS включает следующие внутренние команды: [2]
- ?
- псевдоним
- ассоциированный
- писк
- вызов
- CD
- чдир
- выбор
- cls
- цвет
- копировать
- ctty
- Дата
- дель
- Удалить
- задерживать
- реж
- dirs
- эхо
- эхо
- эхо
- эхосер
- endlocal
- стереть
- выход
- для
- бесплатно
- перейти к
- история
- если
- объем памяти
- мкр
- mkdir
- mklink
- двигаться
- дорожка
- Пауза
- popd
- Подсказка
- толкать
- rd
- rmdir
- rem
- Ren
- переименовать
- заменять
- экран
- набор
- setlocal
- сдвиг
- Начало
- время
- таймер
- заглавие
- тип
- вер
- проверять
- объем
Сравнение с COMMAND.COM
В Windows cmd.exe в основном совместим с COMMAND.COM, но предоставляет следующие расширения:
- Более подробные сообщения об ошибках, чем простое « Неверная команда или имя файла » (в случае некорректных команд) COMMAND.COM . В OS / 2 сообщения об ошибках сообщаются на выбранном языке системы, их текст берется из файлов системных сообщений. В Затем можно ввести команду HELP с номером сообщения об ошибке для получения дополнительной информации.
- Поддерживает использование клавиш со стрелками для прокрутки истории команд. (Под DOS эта функция была доступна только под DR DOS (через HISTORY ), а затем через внешний компонент, называемый ДОСКИ .)
- Добавляет завершение командной строки для путей к файлам и папкам.
- Обрабатывает символ каретки ( ^ ) как escape-символ ; следующий за ним персонаж следует понимать буквально. В cmd.exe и COMMAND.COM (например, " < "," > "и" | "), которые предназначены для изменения поведения процессора командной строки. Символ каретки заставляет процессор командной строки интерпретировать их буквально.
- Поддерживает отложенное расширение переменных с помощью
SETLOCAL EnableDelayedExpansion
, позволяя вычислять значения переменных во время выполнения, а не во время синтаксического анализа скрипта перед выполнением (Windows 2000 и новее), исправляя идиомы DOS, которые затрудняли и усложняли использование структур управления . [15] Расширения можно отключить, чтобы обеспечить более строгий режим совместимости.
Также были улучшены внутренние команды:
- В Команда DELTREE была объединена с Команда RD , как часть ее / S переключатель .
- SetLocal и Команды EndLocal ограничивают объем изменений в среде. Изменения, внесенные в среду командной строки после Команды SetLocal являются локальными для командного файла . Команда EndLocal восстанавливает предыдущие настройки. [16]
- В Команда вызова позволяет выполнять подпрограммы в пакетном файле. В Вызов команды в COMMAND.COM поддерживает только вызов внешних командных файлов.
- Расширения парсера имен файлов для Набор команд сопоставимы с C оболочки . [ требуется дальнейшее объяснение ]
- В Команда Set может выполнять оценку выражения .
- Расширение Команда For поддерживает синтаксический анализ файлов и произвольных наборов в дополнение к именам файлов.
- Новый PushD и Команды PopD обеспечивают доступ к предыдущим пройденным путям, аналогично кнопкам «вперед» и «назад» в веб-браузере или проводнике .
- Условный Команда IF может выполнять сравнения без учета регистра и сравнения числовых равенств и неравенств в дополнение к сравнениям строк с учетом регистра. (Это было доступно в DR-DOS, но не в PC DOS или MS-DOS .)
Смотрите также
- Сравнение командных оболочек
- Список команд DOS
- PowerShell
- Терминал Windows
Рекомендации
- ^ "Примечания по использованию командного процессора OS / 2 по умолчанию (CMD.EXE)" . www.tavi.co.uk .
- ^ а б в "reactos / reactos" . GitHub .
- ^ Захари, Г. Паскаль (1994). Showstopper! Бешеная гонка за создание Windows NT и следующее поколение в Microsoft . Свободная пресса . ISBN 0-02-935671-7.
- ^ Дуглас МакКонахи Болинг (2001). Программирование Microsoft Windows CE (2-е изд.). Microsoft Press . ISBN 978-0735614437.
- ^ «Оболочка командного процессора (Windows CE .NET 4.2)» . docs.microsoft.com .
- ^ «Оболочка командного процессора (Windows CE 5.0)» . docs.microsoft.com .
- ^ «Оболочка командного процессора (Windows Embedded CE 6.0)» . docs.microsoft.com .
- ^ а б "ЦМД" . docs.microsoft.com .
- ^ Командная строка (Cmd. Exe) ограничение строки командной строки
- ^ Справочник пользователя операционной системы Microsoft / 2 (PDF) . Microsoft . 1987 г.
- ^ Хилл, Тим (1998). Сценарии оболочки Windows NT . Macmillan Technical Publishing . ISBN 978-1578700479.
- ^ «Команды командного процессора (Windows CE .NET 4.2)» . docs.microsoft.com .
- ^ «Команды командного процессора (Windows CE 5.0)» . docs.microsoft.com .
- ^ «Команды командного процессора (Windows Embedded CE 6.0)» . docs.microsoft.com .
- ^ «Windows 2000 отложила расширение переменной среды» . Windows для ИТ-специалистов . Архивировано из оригинала на 2015-07-13 . Проверено 13 июля 2015 .
- ^ «Сетлокал» . TechNet . Microsoft . Проверено 13 января 2015 .
дальнейшее чтение
- Дэвид Московиц; Дэвид Керр (1994). OS / 2 2.11 Unleashed (2-е изд.). Самс Паблишинг . ISBN 978-0672304453.
- Станек, Уильям Р. (2008). Карманный консультант администратора командной строки Windows (2-е изд.). Microsoft Press . ISBN 978-0735622623.
Внешние ссылки
- «Справочник командной строки AZ» . Microsoft .
- "Cmd" . Документация по продукту Microsoft Windows XP . Microsoft . Архивировано из оригинала на 2011-09-02 . Проверено 24 мая 2006 .
- «Командная строка: часто задаваемые вопросы» . Справка Windows . Microsoft . Архивировано из оригинала на 2015-04-22 . Проверено 20 апреля 2015 .
- «Индекс от А до Я командной строки Windows CMD» . SS64.com.