CMD — командный интерпретатор Windows¶
CMD (сокращение от англ. command, «команда») — командный интерпретатор и оболочка операционной системы Windows, предназначенный для выполнения команд и сценариев в текстовом режиме. Представляет собой консольное приложение cmd.exe, входящее в состав всех версий Windows начиная с Windows NT. CMD позволяет управлять файловой системой, запускать программы, настраивать системные параметры и автоматизировать рутинные операции через пакетные файлы (.bat, .cmd).
¶История
CMD появился в 1993 году в составе Windows NT 3.1 как замена интерпретатору COMMAND.COM, использовавшемуся в линейке MS-DOS и Windows 9x. Различие заключалось в архитектуре: COMMAND.COM был 16-битным программным обеспечением с ограниченной памятью, тогда как cmd.exe — 32-битным (впоследствии 64-битным) приложением, работающим поверх ядра Windows NT.
В линейке Windows 95, 98 и ME параллельно существовали оба интерпретатора: COMMAND.COM для совместимости со старыми DOS-программами и cmd.exe как более продвинутая оболочка. Начиная с Windows XP и особенно с Windows 10, CMD считается устаревшим интерфейсом по сравнению с PowerShell, однако остаётся предустановленным компонентом и активно используется.
¶Основные возможности
CMD поддерживает набор встроенных команд, исторически восходящих к DOS. Основные из них:
| Команда | Назначение |
|---|---|
dir | Вывод содержимого каталога |
cd | Изменение текущего каталога |
copy, move, del | Копирование, перемещение, удаление файлов |
type | Вывод текстового файла на экран |
ping | Проверка доступности сетевого узла |
ipconfig | Просмотр сетевых настроек |
tasklist, taskkill | Просмотр и завершение процессов |
sfc | Проверка целостности системных файлов |
chkdsk | Проверка диска на ошибки |
reg | Работа с реестром Windows |
Помимо встроенных команд, CMD позволяет запускать любые исполняемые файлы и передавать им аргументы командной строки.
¶Пакетные файлы
Одна из ключевых функций CMD — выполнение пакетных (батчевых) файлов с расширениями .bat и .cmd. Такой файл содержит последовательность команд, которая выполняется интерпретатором построчно. Пакетные файлы поддерживают условные операторы (if), циклы (for), переходы (goto), перенаправление ввода-вывода и конвейеры (|).
Пример простого пакетного файла:
``bat @echo off echo Проверка сети... ping -n 4 8.8.8.8 > nul if %errorlevel%==0 ( echo Сеть доступна ) else ( echo Сеть недоступна ) ``
Пакетные файлы широко применяются в системном администрировании для автоматизации резервного копирования, развёртывания программного обеспечения и обслуживания рабочих станций.
¶Перенаправление и конвейеры
CMD поддерживает перенаправление потоков ввода-вывода:
>— запись вывода в файл (с перезаписью);>>— дозапись вывода в файл;<— чтение данных из файла как стандартного ввода;2>— перенаправление потока ошибок;|— передача вывода одной команды на вход другой (конвейер);&— выполнение нескольких команд подряд.
Эти механизмы позволяют строить сложные цепочки обработки данных в текстовом режиме.
¶Отличия от PowerShell
CMD и PowerShell — разные поколения оболочек Windows. Основные отличия:
- Типизация: CMD работает со строками, PowerShell — с объектами .NET.
- Синтаксис: в CMD команды разделены пробелами и ключами через
/или-, в PowerShell используется единообразный синтаксис с параметрами через дефис. - Мощность: PowerShell предоставляет доступ к WMI, реестру, COM-объектам, поддерживает модули и удалённое управление.
- Совместимость: CMD проще и быстрее запускается, его команды стабильны между версиями Windows, поэтому он остаётся удобен для быстрых операций.
Microsoft рекомендует использовать PowerShell для новых сценариев, но не планирует полного отказа от CMD из-за огромного числа существующих пакетных файлов и скриптов.
¶Запуск
CMD запускается несколькими способами:
- через меню «Пуск» командой
cmd; - сочетанием клавиш Win+R с вводом
cmd; - из проводника — адресной строкой или через меню «Файл» → «Открыть окно PowerShell» → «Открыть окно Windows Terminal»;
- с правами администратора — через контекстное меню кнопки «Пуск» (в Windows 10 и 11).
При запуске с ключом /k окно остаётся открытым после выполнения команды, с ключом /c — закрывается автоматически.
¶Применение
CMD применяется в следующих областях:
- Системное администрирование — диагностика и обслуживание Windows, настройка служб, управление пользователями.
- Разработка — сборка проектов, запуск компиляторов и утилит из командной строки.
- Информационная безопасность — проведение аудита, сбор информации о системе, тестирование.
- Обучение — изучение принципов работы операционных систем и основ автоматизации.
CMD остаётся одним из наиболее доступных инструментов автоматизации в Windows, не требующим установки дополнительного программного обеспечения.
¶Интересные факты
- В Windows 10 и 11 встроен подсистема Windows Subsystem for Linux (WSL), позволяющая запускать утилиты Linux прямо из CMD и PowerShell.
- Существует множество эмуляторов и альтернатив CMD, например Cmder, ConEmu и Windows Terminal, добавляющих вкладки, подсветку синтаксиса и поддержку Unicode.
- Внутренняя версия CMD отображается командой
ver; в современных версиях Windows она возвращает строку вида «Microsoft Windows [Version 10.0.19045.xxx]».
¶Источники
- Документация Microsoft по
cmd.exe(Microsoft Learn) - «Windows Internals» М. Руссиновича, Д. Соломона, А. Ионеску
- Справочник по командной строке Windows Server
