WindowsСредняя

Исправляем 'cmd не является внутренней командой' в Windows

Ошибка запуска командной строки обычно возникает при повреждении переменных окружения. Гайд поможет восстановить доступ к cmd через системный реестр и ручной путь.

Обновлено 6 апреля 2026 г.
5-10 мин
Низкая
FixPedia Team
Применимо к:Windows 10Windows 11Windows Server 2019/2022

Введение / Зачем это нужно

Командная строка — фундаментальный инструмент для диагностики, настройки сети и запуска скриптов. Когда система отвечает «“cmd” не является внутренней или внешней командой», это не значит, что исполняемый файл удалён. В 99% случаев сбилась системная переменная Path, и Windows просто перестала искать утилиты в стандартных каталогах. Вернуть работоспособность терминала можно за несколько минут, не прибегая к сбросу настроек или переустановке ОС.

Требования / Подготовка

Перед началом убедитесь, что:

  • Вы используете учётную запись с правами администратора.
  • Системный диск не изменился (обычно это C:).
  • Вы готовы перезапустить терминалы или выйти из сеанса для применения новых переменных окружения.

Шаг 1: Восстановление пути через интерфейс переменных среды

Графический редактор позволяет безопасно вернуть стандартные каталоги.

  1. Нажмите Win + R, введите sysdm.cpl и нажмите Enter.
  2. Перейдите на вкладку Дополнительно и нажмите кнопку Переменные среды внизу окна.
  3. В блоке «Системные переменные» найдите строку Path, выделите её и нажмите Изменить.
  4. Просмотрите список. Если в нём отсутствуют C:\Windows\System32 или %SystemRoot%\System32, нажмите Создать и добавьте этот путь. Также добавьте C:\Windows (или %SystemRoot%), если его нет.
  5. Подтвердите изменения, нажимая ОК во всех окнах.

⚠️ Важно: Переменные окружения применяются только к новым процессам. Закройте все открытые окна терминалов, а затем перезапустите Проводник через Диспетчер задач (explorer.exe → Перезапустить), чтобы изменения подхватились системой.

Шаг 2: Программная правка через PowerShell

Если интерфейс зависает или недоступен, используйте консоль администратора.

  1. Откройте меню «Пуск», введите PowerShell, нажмите правой кнопкой и выберите Запуск от имени администратора.
  2. Выполните команду, которая добавит системные пути в конец переменной Path без перезаписи пользовательских записей:
$currentPath = [Environment]::GetEnvironmentVariable("Path", "Machine")
$systemDirs = ";C:\Windows\System32;C:\Windows"
[Environment]::SetEnvironmentVariable("Path", "$currentPath$systemDirs", "Machine")
  1. Перезагрузите компьютер для гарантированного применения изменений на уровне сессии.

Шаг 3: Проверка целостности системных файлов

Если путь в Path указан верно, но ошибка сохраняется, возможно повреждён сам cmd.exe или связанные библиотеки.

  1. В том же окне PowerShell выполните прямой запуск утилиты проверки (указываем полный путь, так как Path может всё ещё не обновиться):
C:\Windows\System32\sfc.exe /scannow
  1. Дождитесь завершения сканирования. Утилита автоматически заменит повреждённые системные файлы на оригинальные из хранилища компонентов Windows.
  2. При обнаружении ошибок, которые sfc не может исправить, запустите восстановление образа системы:
C:\Windows\System32\Dism.exe /Online /Cleanup-Image /RestoreHealth

Проверка результата

Откройте новое окно терминала. Введите команду:

cmd /k ver

Если в ответе отобразилась версия вашей ОС без сообщений об ошибках, система восстановила доступ к командной строке. Дополнительно проверьте целевой путь исполняемого файла:

echo %COMSPEC%

Ожидаемый результат: C:\Windows\system32\cmd.exe. Если выводится корректный путь, гайд завершён успешно.

Возможные проблемы

  • Отказано в доступе при сохранении Path: Убедитесь, что редактируете именно системную переменную, а не пользовательскую. Для правки системных параметров требуются повышенные привилегии.
  • Переменная Path обрезается или не сохраняется: Windows имеет лимит на длину строки. Удалите неиспользуемые пути сторонних утилит из списка, прежде чем добавлять системные каталоги.
  • Антивирус блокирует запуск: Некоторые защитные решения помечают cmd.exe как подозрительный при вызове из скриптов. Добавьте C:\Windows\System32\cmd.exe в исключения файлового монитора вашего антивируса.
  • Файл cmd.exe физически отсутствует: Воспользуйтесь командой DISM из Шага 3 или выполните точечное восстановление системы до даты, когда командная строка работала корректно.

Часто задаваемые вопросы

Почему Windows пишет, что cmd не найдена?
Можно ли запустить командную строку без PATH?
Сброс переменной Path удалит программы?
Стоит ли переустанавливать Windows из-за этой ошибки?

Полезное

Проверка текущего состояния PATH
Ручное добавление пути к cmd
Проверка системных файлов
Создание ярлыка-обходного пути

Эта статья помогла вам решить проблему?