CMD — командная оболочка Windows¶
CMD (сокращение от англ. command, «команда»), также известная как cmd.exe или командная строка Windows — командная оболочка и интерпретатор команд операционных систем семейства Microsoft Windows. Представляет собой текстовый интерфейс, в котором пользователь вводит команды в консольном окне, а оболочка интерпретирует их и передаёт на выполнение операционной системе. CMD является преемницей COMMAND.COM — оболочки MS-DOS и ранних версий Windows, и до сих пор поставляется во всех актуальных версиях Windows, включая Windows 10 и Windows 11.
¶История
COMMAND.COM как командный интерпретатор был частью MS-DOS с 1981 года и использовался в Windows 95, Windows 98 и Windows ME. Эта оболочка была ограничена возможностями 16-битной среды, не поддерживала длинные имена файлов и имела примитивный синтаксис.
В 1993 году Microsoft выпустила Windows NT 3.1, в которой вместо COMMAND.COM использовалась новая 32-битная оболочка cmd.exe (внутреннее имя — Windows NT Command Processor). Она была написана заново и не была совместима с COMMAND.COM на уровне исходного кода, хотя и сохраняла поддержку большинства команд MS-DOS. В ветке Windows 9x (95, 98, ME) параллельно существовал COMMAND.COM, а начиная с Windows XP (2001) CMD стала единой командной оболочкой для всех выпусков Windows.
В 2006 году Microsoft выпустила PowerShell — более мощную оболочку, основанную на объектно-ориентированной модели .NET. CMD не была вытеснена и продолжает поставляться по сей день как средство быстрого запуска утилит и выполнения простых скриптов.
¶Основные возможности
CMD поддерживает два типа команд:
- Встроенные команды (internal) — реализованы непосредственно в cmd.exe, например
dir,cd,copy,del,type,set,echo,if,for,call,goto. - Внешние утилиты (external) — отдельные исполняемые файлы (.exe, .com, .bat), которые загружаются из каталогов, перечисленных в переменной окружения
PATH. Примеры:ping,ipconfig,tasklist,sfc,chkdsk,robocopy.
Оболочка поддерживает перенаправление ввода-вывода (>, >>, <, |), оператор объединения команд &, условные операторы && и ||, переменные окружения, а также пакетные файлы (.bat, .cmd), позволяющие записывать последовательности команд в скрипты.
¶Запуск
CMD можно запустить несколькими способами:
- через диалог «Выполнить» (Win+R) командой
cmd; - через меню «Пуск» — поиск по слову «cmd» или «Командная строка»;
- из проводника — в адресной строке ввести
cmd; - через меню PowerShell (правый клик по кнопке «Пуск» в Windows 10/11).
При запуске от имени администратора (правый клик — «Запуск от имени администратора») оболочка получает повышенные привилегии, необходимые для ряда системных команд.
¶Основные команды
| Команда | Назначение |
|---|---|
dir | вывод списка файлов и каталогов |
cd | переход в каталог |
copy, move, del | копирование, перемещение, удаление файлов |
ipconfig | просмотр сетевых настроек |
ping | проверка доступности узла в сети |
tasklist, taskkill | просмотр и завершение процессов |
sfc /scannow | проверка целостности системных файлов |
chkdsk | проверка диска на ошибки |
robocopy | продвинутое копирование файлов и каталогов |
shutdown | выключение или перезагрузка компьютера |
¶CMD и PowerShell
PowerShell поддерживает полный синтаксис CMD и может выполнять .bat-файлы, однако модели работы существенно различаются: CMD передаёт между командами текстовые строки, тогда как PowerShell — объекты .NET. Для администрирования Windows Microsoft рекомендует PowerShell, но CMD остаётся встроенной и неизменной частью системы, поскольку на ней построено множество утилит, установщиков и автоматизированных скриптов.
¶Безопасность
CMD может использоваться для выполнения вредоносных скриптов, поэтому в корпоративных средах нередко ограничивается групповыми политиками. В Windows 10 и 11 по умолчанию доступна функция «Подавление выполнения скриптов» (AppLocker, WDAC), а утилита PowerShell может запускаться в ограниченном режиме. Тем не менее CMD остаётся одним из основных инструментов системного администрирования, диагностики и автоматизации в Windows.
¶Примечания
Исторически термин «командная строка» в контексте Windows почти всегда означает именно cmd.exe, хотя в Unix-подобных системах (Linux, macOS) аналогичную роль играют оболочки sh, bash, zsh. В Windows Subsystem for Linux (WSL) используется именно bash, а не CMD.
Источники:
- Microsoft Docs — «Cmd.exe»
- «Windows NT Command Processor» — MSDN
- «Inside the Windows Command Prompt» — Microsoft TechNet
- Википедия (англ.) — «Command Prompt»
- Википедия (рус.) — «Командная строка»
