cmd.exe взаимодействует с пользователем через интерфейс командной строки . В Windows этот интерфейс реализован через консоль Win32 . cmd.exe может использовать преимущества функций, доступных собственным программам его собственной платформы. Например, в OS/2 и Windows он может использовать настоящие каналы в командных конвейерах, позволяя обеим сторонам конвейера работать одновременно. В результате можно перенаправить стандартный поток ошибок . ( COMMAND.COM использует временные файлы и запускает обе стороны последовательно, одну за другой.)
Несколько команд можно обрабатывать в одной командной строке, используя разделитель команд && . [8]
При использовании этого разделителя в Windows cmd.exe каждая команда должна быть выполнена успешно, чтобы могли быть выполнены следующие команды. Например:
C:\> КомандаA && КомандаB && КомандаC
В приведенном выше примере команда B будет выполнена только в том случае, если команда A завершится успешно, а выполнение команды C зависит от успешного завершения команды B. Для обработки последующих команд, даже если предыдущая команда выдает ошибку, следует использовать разделитель команд & . [9] Например:
C:\> CommandA , CommandB и CommandC
В Windows XP или более поздней версии максимальная длина строки, которую можно использовать в командной строке, составляет 8191 символ. В более ранних версиях, таких как Windows 2000 или Windows NT 4.0 , максимальная длина строки составляет 2047 символов. Это ограничение включает в себя командную строку, отдельные переменные среды , унаследованные другими процессами , а также все расширения переменных среды. [10]
В Windows cmd.exe в основном совместим с COMMAND.COM , но предоставляет следующие расширения:
Более подробные сообщения об ошибках, чем сообщение « Неверная команда или имя файла » (в случае неверных команд) COMMAND.COM . В OS/2 сообщения об ошибках сообщаются на выбранном языке системы, а их текст берется из файлов системных сообщений. Затем можно выполнить команду HELP с номером сообщения об ошибке для получения дополнительной информации .
Поддерживает использование клавиш со стрелками для прокрутки истории команд. (В DOS эта функция была доступна только в DR DOS (через HISTORY ), а затем через внешний компонент под названием DOSKEY .)
Добавляет чередующееся завершение командной строки для путей к файлам и папкам, где пользователь может циклически просматривать результаты для префикса Tab ↹, используя и + для обратного направления.⇧ ShiftTab ↹
Считает символ каретки ( ^ ) escape-символом ; следующий за ним символ следует понимать буквально. В cmd.exe и COMMAND.COM есть специальные символы (например, « < », « > » и «|»), которые предназначены для изменения поведения процессора командной строки. Символ каретки заставляет процессор командной строки интерпретировать их буквально.
Поддерживает отложенное расширение переменных с помощью SETLOCAL EnableDelayedExpansion, позволяя вычислять значения переменных во время выполнения, а не во время анализа сценария перед выполнением (Windows 2000 и более поздние версии), исправляя идиомы DOS, которые делали использование структур управления трудным и сложным. [16] Расширения можно отключить, обеспечивая более строгий режим совместимости.
Команды SetLocal и EndLocal ограничивают объем изменений в среде. Изменения, внесенные в среду командной строки после команд SetLocal , являются локальными для пакетного файла . Команда EndLocal восстанавливает предыдущие настройки. [17]
Команда «Вызов» позволяет использовать подпрограммы в пакетном файле. Команда «Вызов» в COMMAND.COM поддерживает вызов только внешних пакетных файлов.
Расширение команды For поддерживает анализ файлов и произвольных наборов в дополнение к именам файлов.
Новые команды PushD и PopD обеспечивают доступ к предыдущим путям навигации, аналогично кнопкам «вперед» и «назад» в веб-браузере или проводнике .
Условная команда IF может выполнять сравнения без учета регистра , а также числовые сравнения на равенство и неравенство в дополнение к сравнению строк с учетом регистра. (Это было доступно в DR-DOS, но не в PC DOS или MS-DOS .)
^ «Примечания по использованию командного процессора OS/2 по умолчанию (CMD.EXE)» . www.tavi.co.uk. _
^ abc "реагировать/реагировать". Гитхаб . 4 декабря 2021 г.
^ «Оболочка командного процессора (Windows CE .NET 4.2)» . Документы Майкрософт . 30 июня 2006 г. Архивировано из оригинала 31 августа 2022 г.
^ «Оболочка командного процессора (Windows CE 5.0)» . Документы Майкрософт . 14 сентября 2012 г. Архивировано из оригинала 28 августа 2022 г.
^ «Оболочка командного процессора (Windows Embedded CE 6.0)» . Документы Майкрософт . 2012. Архивировано из оригинала 5 сентября 2022 года.
^ Закари, Г. Паскаль (1994). Шоу-стоппер! Головокружительная гонка за создание Windows NT и следующего поколения в Microsoft . Свободная пресса . ISBN0-02-935671-7.
^ Дуглас МакКоннохи Болинг (2001). Программирование Microsoft Windows CE (2-е изд.). Майкрософт Пресс . ISBN978-0735614437.
^ аб "cmd". Microsoft Learn . 12 сентября 2023 г. Архивировано из оригинала 21 ноября 2023 г.
^ «Перенаправление команд, каналы — Windows CMD — SS64.com» . ss64.com . Проверено 23 сентября 2021 г.
^ «Команды командного процессора (Windows CE .NET 4.2)» . Документы Майкрософт . 30 июня 2006 г. Архивировано из оригинала 31 августа 2022 г.
^ «Команды командного процессора (Windows CE 5.0)» . Документы Майкрософт . 14 сентября 2012 г. Архивировано из оригинала 31 августа 2022 г.
^ «Команды командного процессора (Windows Embedded CE 6.0)» . Документы Майкрософт . 5 января 2012 г. Архивировано из оригинала 6 сентября 2022 г.
^ «Windows 2000 задержало расширение переменных среды» . Windows ИТ-специалист . Архивировано из оригинала 13 июля 2015 года . Проверено 13 июля 2015 г.
^ "Setlocal". ТехНет . Майкрософт . 11 сентября 2009 года . Проверено 13 января 2015 г.
Станек, Уильям Р. (2008). Карманный консультант администратора командной строки Windows (2-е изд.). Майкрософт Пресс . ISBN 978-0735622623.
Внешние ссылки
Викискладе есть медиафайлы, связанные с командной строкой Windows .
В Wikibooks есть книга на тему: Пакетные сценарии Windows.
«Ссылка на командную строку AZ». Майкрософт . 26 апреля 2023 г.
«Командир». Документация по продукту Microsoft Windows XP . Майкрософт . Архивировано из оригинала 2 сентября 2011 года . Проверено 24 мая 2006 г.
«Командная строка: часто задаваемые вопросы». Справка по Windows . Майкрософт . Архивировано из оригинала 22 апреля 2015 года . Проверено 20 апреля 2015 г.
«Индекс A–Z командной строки Windows CMD». SS64.com.
«Windows CMD.com – Центр команд Windows». windowscmd.com. Архивировано из оригинала 11 января 2022 года . Проверено 4 января 2022 г.