Jump to content

cmd.exe

Командная строка (cmd.exe)
Другие имена Командный процессор Windows
Разработчик(и) Microsoft , IBM , ReactOS Участники
Первоначальный выпуск декабрь 1987 г .; 36 лет назад ( 1987-12 )
Операционная система
Платформа IA-32 , x86-64 , ARM (и исторически DEC Alpha , MIPS , PowerPC и Itanium )
Предшественник COMMAND.COM
Тип Интерпретатор командной строки

Командная строка , также известная как cmd.exe или cmd , является интерпретатором командной строки по умолчанию для OS/2 . [1] eComStation , ArcaOS , Microsoft Windows ( семейство Windows NT и семейство Windows CE ) и ReactOS. [2] операционные системы. В Windows CE .NET 4.2 [3] Windows CE 5.0 [4] и Windows Embedded CE 6.0 [5] она называется оболочкой командного процессора . Его реализации различаются в разных операционных системах, но поведение и базовый набор команд одинаковы. cmd.exe — это аналог COMMAND.COM в системах DOS и Windows 9x , а также аналог оболочек Unix, используемых в Unix-подобных системах. Первоначальная версия cmd.exe для Windows NT был разработан Терезой Стоуэлл. [6] Windows CE 2.11 была первой встроенной версией Windows, поддерживающей консоль и версию Windows CE. cmd.exe . [7] Реализация ReactOS cmd.exe является производным от FreeCOM, интерпретатора командной строки FreeDOS . [2]

Операция

[ редактировать ]

cmd.exe взаимодействует с пользователем через интерфейс командной строки . В Windows этот интерфейс реализован через консоль Win32 . cmd.exe может использовать возможности, доступные собственным программам его собственной платформы. Например, в OS/2 и Windows он может использовать настоящие каналы в конвейерах команд, позволяя обеим сторонам конвейера работать одновременно. В результате можно перенаправить стандартный поток ошибок . ( COMMAND.COM использует временные файлы и запускает обе стороны последовательно, одну за другой.)

Несколько команд могут быть обработаны в одной командной строке с помощью разделителя команд. && . [8]

При использовании этого разделителя в Windows cmd.exe каждая команда должна быть выполнена успешно, чтобы могли быть выполнены следующие команды. Например:

C:\>CommandA && CommandB && CommandC

[9]


В приведенном выше примере CommandB будет выполняться только в том случае, если CommandA завершается успешно, и выполнение CommandC зависит от успешного завершения КомандаБ . Чтобы обрабатывать последующие команды, даже если предыдущая команда выдает ошибку, разделитель команд & следует использовать. [10] Например:

C:\>CommandA & CommandB & CommandC

В Windows XP или более поздней версии максимальная длина строки, которую можно использовать в командной строке, составляет 8191 (2 13 -1) персонажи. В более ранних версиях, таких как Windows 2000 или Windows NT 4.0 , максимальная длина строки составляет 2047 (2 11 -1) персонажи. Это ограничение включает в себя командную строку, отдельные переменные среды , унаследованные другими процессами , а также все расширения переменных среды. [11]

Кавычки необходимы для следующих специальных символов : [8]

& < > [ ] { } ^ = ; ! ' + , ` ~

и белое пространство.

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

[ редактировать ]
Окно OS/2 (cmd.exe) в Microsoft OS/2 версии 1.3

Ниже приведен список внутренних компонентов Microsoft OS/2. cmd.exe Команды : [12]

Семейство Windows NT

[ редактировать ]
cmd.exe в Windows 11

Следующий список внутренних команд поддерживается cmd.exe в Windows NT и более поздних версиях: [13]

Pocket CMD v 3.0 (cmd.exe) в Windows CE 3.0

Следующий список команд поддерживается cmd.exe в Windows CE .NET 4.2, [14] Windows CE 5.0 [15] и Windows Embedded CE 6.0: [16]

  • атрибут
  • вызов
  • компакт-диск
  • чдир
  • клс
  • копировать
  • дата
  • принадлежащий
  • ты
  • эхо
  • стереть
  • Выход
  • перейти к
  • помощь
  • если
  • Мэриленд
  • мкдир
  • двигаться
  • путь
  • пауза
  • быстрый
  • страдающий
  • р-д
  • рем
  • Рен
  • переименовывать
  • rmdir
  • набор
  • сдвиг
  • начинать
  • время
  • заголовок
  • тип

Кроме того, net -команда доступна как внешняя команда, хранящаяся в \Windows\net.exe .

Командная строка (cmd.exe) в ReactOS

Реализация ReactOS включает следующие внутренние команды: [2]

  • ?
  • псевдоним
  • доцент
  • звуковой сигнал
  • вызов
  • компакт-диск
  • чдир
  • выбор
  • клс
  • цвет
  • копировать
  • ctty
  • дата
  • принадлежащий
  • удалить
  • задерживать
  • ты
  • сказать
  • эхо
  • эхо
  • эхоэрр
  • эхосерр
  • локальный
  • стереть
  • Выход
  • для
  • бесплатно
  • перейти к
  • история
  • если
  • память
  • Мэриленд
  • мкдир
  • мклинк
  • двигаться
  • путь
  • пауза
  • требовать
  • быстрый
  • толчок
  • р-д
  • rmdir
  • рем
  • Рен
  • переименовывать
  • заменять
  • экран
  • набор
  • setlocal
  • сдвиг
  • начинать
  • время
  • таймер
  • заголовок
  • тип
  • видеть
  • проверять
  • том

Сравнение с COMMAND.COM

[ редактировать ]

В Windows, cmd.exe в основном совместим с COMMAND.COM , но предоставляет следующие расширения:

  • Более подробные сообщения об ошибках, чем сообщение « Неверная команда или имя файла » (в случае неверных команд) КОМАНД.КОМ . В OS/2 сообщения об ошибках сообщаются на выбранном языке системы, а их текст берется из файлов системных сообщений. Затем можно выдать команду HELP с номером сообщения об ошибке для получения дополнительной информации.
  • Поддерживает использование клавиш со стрелками для прокрутки истории команд. (В DOS эта функция была доступна только в DR DOS (через HISTORY ), а позже через внешний компонент под названием ДОСКИ .)
  • Добавляет чередующееся завершение командной строки для путей к файлам и папкам, где пользователь может циклически просматривать результаты для префикса, используя Tab, и Shift+ Tab ↹ для обратного направления.
  • Обрабатывает символ каретки ( ^ ) как escape-символ ; следующий за ним символ следует понимать буквально. Есть специальные символы cmd.exe и COMMAND.COM , которые предназначены для изменения поведения процессора командной строки. Символ каретки заставляет процессор командной строки интерпретировать их буквально.
  • Поддерживает отложенное расширение переменных с SETLOCAL EnableDelayedExpansion, что позволяет вычислять значения переменных во время выполнения, а не во время анализа сценария перед выполнением (Windows 2000 и более поздние версии), исправляя идиомы DOS, которые делали использование структур управления трудным и сложным. [17] Расширения можно отключить, обеспечивая более строгий режим совместимости.

Внутренние команды также были улучшены:

  • The Команда DELTREE была объединена в команду командование РД , в составе его /S переключатель .
  • Установить локальный и Команды EndLocal ограничивают объем изменений в среде. Изменения, внесенные в среду командной строки после Команды SetLocal являются локальными для пакетного файла . Команда EndLocal восстанавливает предыдущие настройки. [18]
  • The Команда вызова позволяет выполнять подпрограммы в пакетном файле. Вызов команды в COMMAND.COM поддерживает вызов только внешних пакетных файлов.
  • Расширения парсера имен файлов до Команда Set сравнима с оболочкой C. [ нужны дальнейшие объяснения ]
  • The Команда Set может выполнять оценку выражения .
  • Расширение Команда For поддерживает анализ файлов и произвольных наборов в дополнение к именам файлов.
  • Новый ПушД и Команды PopD обеспечивают доступ к предыдущим путям навигации, аналогично кнопкам «вперед» и «назад» в веб-браузере или проводнике .
  • Условное Команда IF может выполнять сравнения без учета регистра , а также числовые сравнения на равенство и неравенство в дополнение к сравнению строк с учетом регистра. (Это было доступно в DR-DOS, но не в PC DOS или MS-DOS .)

См. также

[ редактировать ]
  1. ^ «Примечания по использованию командного процессора OS/2 по умолчанию (CMD.EXE)» . www.tavi.co.uk.
  2. ^ Jump up to: а б с «реактос/реактос» . Гитхаб . 4 декабря 2021 г.
  3. ^ «Командная оболочка процессора (Windows CE .NET 4.2)» . Документы Майкрософт . 30 июня 2006 г. Архивировано из оригинала 31 августа 2022 г.
  4. ^ «Командная оболочка процессора (Windows CE 5.0)» . Документы Майкрософт . 14 сентября 2012 г. Архивировано из оригинала 28 августа 2022 г.
  5. ^ «Командная оболочка процессора (Windows Embedded CE 6.0)» . Документы Майкрософт . 2012. Архивировано из оригинала 5 сентября 2022 года.
  6. ^ Закари, Дж. Паскаль (1994). Шоу-стоппер! Головокружительная гонка за создание Windows NT и следующего поколения в Microsoft . Свободная пресса . ISBN  0-02-935671-7 .
  7. ^ Дуглас МакКоннохи Болинг (2001). Программирование Microsoft Windows CE (2-е изд.). Майкрософт Пресс . ISBN  978-0735614437 .
  8. ^ Jump up to: а б "коммд" . Microsoft Learn . 12 сентября 2023 г. Архивировано из оригинала 21 ноября 2023 г.
  9. ^ [Амбала «Это хорошо для всех»]. {{cite web}}: Проверять |url= значение ( помощь ) CS1 maint: статус URL ( ссылка )
  10. ^ «Перенаправление команд, каналы — Windows CMD — SS64.com» . ss64.com . Проверено 23 сентября 2021 г.
  11. ^ Ограничение строки командной строки командной строки (Cmd.exe)
  12. ^ Справочник пользователя по операционной системе Microsoft/2 (PDF) . Майкрософт . 1987.
  13. ^ Хилл, Тим (1998). Сценарии оболочки Windows NT . Техническое издательство Macmillan . ISBN  978-1578700479 .
  14. ^ «Команды командного процессора (Windows CE .NET 4.2)» . Документы Майкрософт . 30 июня 2006 г. Архивировано из оригинала 31 августа 2022 г.
  15. ^ «Команды командного процессора (Windows CE 5.0)» . Документы Майкрософт . 14 сентября 2012 г. Архивировано из оригинала 31 августа 2022 г.
  16. ^ «Команды командного процессора (Windows Embedded CE 6.0)» . Документы Майкрософт . 5 января 2012 г. Архивировано из оригинала 6 сентября 2022 г.
  17. ^ «Windows 2000 задержало расширение переменных среды» . Windows ИТ-специалист . Архивировано из оригинала 13 июля 2015 года . Проверено 13 июля 2015 г.
  18. ^ «Сетлокал» . ТехНет . Майкрософт . 11 сентября 2009 года . Проверено 13 января 2015 г.

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

[ редактировать ]
[ редактировать ]
Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: 5d9d68a70af6c74c8b0d1cbdc3de77cf__1722679200
URL1:https://arc.ask3.ru/arc/aa/5d/cf/5d9d68a70af6c74c8b0d1cbdc3de77cf.html
Заголовок, (Title) документа по адресу, URL1:
cmd.exe - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)