Для чего нужна командная строка в Windows: задачи, запуск cmd, базовые команды

Для чего нужна командная строка в Windows: задачи, запуск cmd, базовые команды Полезное

Командная строка Windows (cmd.exe) нужна, чтобы управлять системой текстовыми командами: быстро получать сведения о компьютере и сети, проверять и восстанавливать системные файлы и диски, работать с файлами и процессами, когда графический интерфейс неудобен или недоступен, и автоматизировать повторяющиеся действия в пакетных файлах .bat/.cmd. Ниже — какие задачи она решает, как ее открыть, с каких команд начать и когда вместо нее лучше взять PowerShell.

Описание дано для Windows 11 (сентябрь 2026). Для Windows 10 почти все команды те же, отличаются в основном пункты меню.

Что с чем не путать

  • Командная строка, cmd.exe — классический интерпретатор команд Windows: читает введенную строку и выполняет ее. Это программа, а не окно.
  • Консоль, терминал — окно, в котором работает интерпретатор. В Windows 11 по умолчанию это приложение «Терминал» (Windows Terminal): в одной вкладке может быть cmd, в другой PowerShell.
  • PowerShell — другая оболочка Windows со своим языком. Встроенный Windows PowerShell 5.1 (powershell.exe) и устанавливаемый отдельно PowerShell 7 (pwsh.exe).

Многие простые команды (ipconfig, ping, sfc) — это отдельные программы Windows, поэтому они одинаково работают и в cmd, и в PowerShell.

Для чего нужна командная строка: типовые задачи

Задача Команда (пример) Почему не мышью
Узнать IP-адрес, шлюз, DNS ipconfig /all все параметры адаптеров в одном выводе
Проверить, доходят ли пакеты до узла ping otus.ru в интерфейсе такого инструмента нет
Сведения о системе systeminfo версия, сборка, дата установки, память — сразу
Список процессов, завершение зависшего tasklist, taskkill работает, даже если не открывается Диспетчер задач
Проверить системные файлы sfc /scannow только из консоли
Проверить диск chkdsk C: подробный отчет о файловой системе
Найти, где лежит программа where notepad показывает путь, по которому ее найдет консоль
Повторять набор действий файл .bat один запуск вместо десятка щелчков

Отдельный сценарий — восстановление. Если Windows не загружается, командную строку можно открыть в среде восстановления и оттуда проверить диск или скопировать файлы на флешку. Буквы дисков там могут не совпадать с привычными (системный раздел бывает не C:), поэтому сначала стоит посмотреть содержимое через dir; если диск зашифрован BitLocker, понадобится ключ восстановления.

Как открыть командную строку

  1. Win + R -> ввести cmd -> Enter. Если вместо Enter нажать Ctrl + Shift + Enter, консоль откроется с правами администратора (после запроса UAC).
  2. Поиск в меню «Пуск»: ввести cmd или «Командная строка». Для прав администратора — правая кнопка -> «Запуск от имени администратора».
  3. Win + X -> «Терминал» или «Терминал (администратор)» (в ранних сборках Windows 11 — «Терминал Windows» и «Терминал Windows (Администратор)»). Откроется профиль по умолчанию, часто это PowerShell; вкладку cmd можно выбрать через стрелку рядом с «+».
  4. В Проводнике открыть нужную папку, в адресной строке набрать cmd и нажать Enter: консоль стартует сразу в этой папке.
  5. Через среду восстановления (WinRE): на экране входа нажать кнопку питания, зажать Shift и выбрать «Перезагрузка», затем «Поиск и устранение неисправностей» -> «Дополнительные параметры» -> «Командная строка». Если Windows не загружается и до экрана входа дело не доходит, после нескольких неудачных запусков подряд система сама открывает WinRE; другой вариант — загрузиться с установочной флешки.

Сам файл лежит в C:\Windows\System32\cmd.exe. На 64-разрядной Windows в C:\Windows\SysWOW64 находится 32-разрядная копия; открывать нужно обычную, из System32.

Права администратора включайте только для команд, которые их требуют (sfc, chkdsk /f, DISM). Для ipconfig, ping, dir они не нужны, а лишний админ-сеанс увеличивает цену ошибки.

Первые команды: минимальный сеанс

Этот набор ничего не меняет в системе, его можно выполнить в любой момент:

cd %USERPROFILE%
dir
where notepad
ipconfig
ping -n 4 otus.ru
systeminfo | findstr /B /C:"OS Name" /C:"OS Version"

Что произойдет: cd перейдет в папку профиля пользователя, dir покажет ее содержимое, where выведет путь (или несколько путей) к notepad.exe, ipconfig — адреса сетевых адаптеров, ping отправит четыре запроса и покажет время ответа и потери. Последняя строка оставит из длинного вывода systeminfo только название и версию ОС. Ключ /B ищет совпадение только в начале строки: без него /C:"OS Version" поймает и строку BIOS Version, потому что поиск идет по подстроке.

Оговорка к последней строке: заголовки вывода systeminfo локализованы. В русской Windows искать нужно по русским названиям полей, например findstr /B /C:"Название ОС", иначе findstr ничего не найдет.

Справка по любой команде — ключ /?: ipconfig /?, dir /?. Команда help без параметров выводит список встроенных команд cmd.

Базовые команды по группам

Группа Команды Что делают
Навигация cd, cd .., cd /d D:\, dir, tree переход по папкам, список файлов, дерево каталогов
Файлы copy, move, ren, mkdir, del, robocopy копирование, перенос, переименование, создание, удаление
Сеть ipconfig, ping, tracert, nslookup, netstat -ano адреса, доступность узла, маршрут, DNS, открытые соединения
Процессы и система tasklist, taskkill, shutdown /r /t 0, cls, exit процессы, перезагрузка, очистка экрана, выход

Ключ /d у cd нужен при переходе на другой диск: без него cd D:\Work запомнит путь, но текущим останется прежний диск.

Пример: почему нет интернета

Типичная задача, ради которой открывают консоль. Идите от ближнего к дальнему:

  1. ipconfig — есть ли у адаптера IPv4-адрес и основной шлюз. Адрес вида 169.254.x.x значит, что компьютер не получил настройки от роутера.
  2. ping <адрес шлюза> — отвечает ли роутер. Нет ответа — проблема в локальной сети или кабеле/Wi-Fi.
  3. ping 8.8.8.8 — есть ли выход в интернет по IP.
  4. nslookup otus.ru — работает ли DNS. Если по IP пинг проходит, а имя не разрешается, дело в DNS; можно выполнить ipconfig /flushdns.

Ограничение: многие узлы и фаерволы не отвечают на ping намеренно. Отсутствие ответа от конкретного сайта еще не значит, что он недоступен, — проверяйте несколько узлов.

Команды, которые меняют систему: только с проверкой

Часть команд необратима или требует осторожности:

  • sfc /scannow — проверяет и заменяет поврежденные системные файлы; нужен админ-сеанс. Если sfc не может восстановить файлы, обычно сначала запускают DISM /Online /Cleanup-Image /RestoreHealth (берет эталонные файлы через Центр обновления), затем снова sfc.
  • chkdsk C: без ключей только проверяет и ничего не исправляет. chkdsk C: /f исправляет ошибки; для системного диска проверка назначается на следующую перезагрузку. Перед исправлением на диске с важными данными сделайте копию.
  • taskkill /PID 1234 просит процесс завершиться штатно; процесс без окна (фоновый, консольный) так часто не завершить, и taskkill предложит ключ /F. Ключ /F убивает процесс сразу, несохраненные данные пропадут.
  • del, robocopy /MIR, format, diskpart могут удалить данные без Корзины. Перед запуском проверяйте текущую папку (cd без параметров покажет ее) и сначала смотрите список файлов через dir с той же маской.

Автоматизация: простой .bat

Пакетный файл — текстовый файл с командами cmd, которые выполняются по порядку. Пример собирает диагностику сети в текстовый файл и не меняет настроек системы. Файл пишется в папку профиля (C:\Users\<имя>): она есть всегда, а рабочий стол может быть перенесен в OneDrive, и путь %USERPROFILE%\Desktop тогда не существует.

@echo off
set "OUT=%USERPROFILE%\net-diag.txt"
echo Diagnostics %DATE% %TIME% > "%OUT%"
ipconfig /all >> "%OUT%"
ping -n 4 8.8.8.8 >> "%OUT%"
nslookup otus.ru >> "%OUT%" 2>&1
echo Saved to %OUT%
pause

Сохраните как net-diag.cmd и запустите двойным щелчком: в конце окно покажет путь к файлу и будет ждать нажатия клавиши. > создает файл заново, >> дописывает, 2>&1 отправляет в тот же файл и сообщения об ошибках. В русской Windows вывод ipconfig попадет в файл в кодировке консоли (обычно OEM 866): если Блокнот покажет кракозябры, откройте файл в редакторе с выбором кодировки 866.

Как запускать программы и скрипты по имени и пути, почему в PowerShell нужен .\ и как работает переменная PATH — подробно в статье как запустить файл из командной строки Windows.

cmd или PowerShell

Критерий cmd PowerShell
Что передается между командами текст объекты с полями
Язык сценариев пакетные файлы .bat/.cmd, ограниченный синтаксис полноценный язык, функции, модули, .ps1
Администрирование Windows через отдельные утилиты командлеты для служб, реестра, AD, удаленного управления
Старые инструкции и скрипты родная среда часть синтаксиса cmd не работает
Где используется обслуживание ПК, восстановление, legacy-скрипты автоматизация и администрирование серверов

Разница «текст против объектов» видна на задаче «файлы больше 1000 байт, по убыванию размера». В PowerShell фильтр работает с числом Length, а не с разбором строк:

New-Item -ItemType Directory -Path cli-demo -Force | Out-Null
Set-Location cli-demo
Set-Content report.txt ('a' * 5000) -NoNewline
Set-Content notes.txt 'hello' -NoNewline
Set-Content data.csv ('x' * 1500) -NoNewline

Get-ChildItem -File | Where-Object Length -gt 1000 |
    Sort-Object Length -Descending | Select-Object Name, Length

(Get-ChildItem -File | Measure-Object Length -Sum).Sum

Вывод (прогон в PowerShell 7.6):

Name       Length
----       ------
report.txt   5000
data.csv     1500
6505

В cmd dir /o-s отсортирует файлы по размеру, но отфильтровать их по числу без разбора текста не получится.

Частая ошибка при переходе: в PowerShell dir — это псевдоним Get-ChildItem, а не команда cmd. Поэтому dir /s в PowerShell не выведет файлы из подпапок: /s будет принят за путь, и появится ошибка «Cannot find path … because it does not exist». Правильно — Get-ChildItem -Recurse или cmd /c dir /s.

Если не получилось

Симптом Причина Что делать
«… не является внутренней или внешней командой» опечатка или программы нет в PATH проверить имя, where имя, указать полный путь
«Отказано в доступе», sfc требует прав администратора обычный сеанс открыть консоль от имени администратора
Окно .bat мигнуло и закрылось скрипт завершился или упал запустить его из открытой консоли или добавить pause
Вместо кириллицы «кракозябры» в выводе или файле кодовая страница консоли (обычно 866) не совпадает с кодировкой файла сохранить .bat в кодировке OEM 866 или выполнить chcp 65001 в начале
Команда из инструкции не работает в «Терминале» открыт PowerShell, а команда написана для cmd открыть вкладку cmd или выполнить cmd /c команда

Выводы

  • Командная строка Windows (cmd.exe) нужна для диагностики сети и системы, проверки дисков и системных файлов, работы с процессами и файлами и автоматизации через .bat/.cmd.
  • Быстрый запуск — Win + R -> cmd; с правами администратора — Ctrl + Shift + Enter в том же окне; при незагружающейся системе — через среду восстановления.
  • Начинать стоит с команд, которые ничего не меняют: dir, cd, ipconfig, ping, systeminfo, where; справка — ключ /?.
  • chkdsk /f, taskkill /F, del, diskpart меняют состояние системы: сначала проверка и копия данных.
  • cmd передает текст, PowerShell — объекты; для новых сценариев автоматизации удобнее PowerShell, для старых инструкций и восстановления — cmd.

Где применяется / связь с практикой

Освойте тему на практике

Командная строка — ежедневный инструмент системного администратора и инженера поддержки: диагностика сети у пользователя, восстановление рабочих станций, обслуживание серверов и перевод рутинных операций в скрипты. Системно администрирование Windows, от консоли и PowerShell до управления серверами и доменом, разбирают на курсе «Администратор Windows». Посмотреть формат занятий можно на бесплатных открытых уроках Otus.

FAQ

Можно ли удалить или отключить командную строку?
Удалять cmd.exe нельзя: это системный компонент, на него опираются установщики и служебные сценарии. В организациях запуск консоли для пользователей ограничивают групповыми политиками, а не удалением файла.

Чем командная строка Windows отличается от терминала Linux?
Идея та же — текстовое управление системой, но оболочки разные: в Linux обычно bash или zsh со своим синтаксисом. Команды вроде ls и grep в cmd не работают, аналоги — dir и findstr.

Как скопировать текст из командной строки?
В Терминале Windows 11 — выделить мышью и нажать Ctrl + C (или правую кнопку), вставка — Ctrl + V. Результат команды можно сразу отправить в буфер обмена: ipconfig | clip.

OTUS Журнал
Скидка 5% 14-20 сентября на курсы (popup)