Не внутренняя или внешняя команда, исполняемая программа или пакетный файл — как исправить?

При запуске команд в командной строке Windows 10 и Windows 11 вы можете получить сообщение об ошибке, в котором говорится, что первый "word" вашей команды — adb.exe, pip или python, npm или git, java, telnet или что-либо еще, и тогда это не внутренняя или внешняя команда, исполняемая программа или пакетный файл.

В этом руководстве подробно описано, что означает это сообщение, почему оно появляется и как исправить ошибку при выполнении наиболее распространенных команд в командной строке.

Причины "Не внутренняя или внешняя команда" ошибка при выполнении команд в командной строке Windows 10 и Windows 11

Для того чтобы понять ошибку, давайте рассмотрим, что происходит при выполнении команды в командной строке на примере этого кода:

команда параметр1 параметр2
  1. Если "команда" это собственная встроенная команда консоли (cls, как пример), она выполняется с указанными параметрами.
  2. Если "команда" файл .exe, .cmd, .bat или другой, например, pip, python или adb, будет сделана попытка запустить его из места, где запущена командная строка (выделено на рисунке ниже), или из места, добавленного в системную переменную PATH (о чем мы поговорим позже). Если запуск прошел успешно и параметры переданы правильно, команда выполняется. Не является внутренней или внешней командой, исполняемой программой или пакетным файлом в командной строке

Отсюда вытекают наиболее распространенные причины ошибки, возникающей при выполнении команды:

  • Наиболее распространенной причиной является отсутствие исполняемого файла в папке, где запущена командная строка, и в папках, которые находятся в PATH.
  • Ошибки при написании команды: если в имени файла есть ошибка, он не будет найден, что приведет к указанной ошибке.
  • Файл где-то отсутствует, например, вы пытаетесь использовать telnet, когда соответствующий компонент Windows не установлен.
  • В редких случаях файл, запущенный через командную строку, действительно не является исполняемой программой: сам по себе или из-за повреждения.

Теперь о том, что делать в этой ситуации.

Как исправить

Чтобы исправить "Не является внутренней или внешней командой, исполняемой программой или пакетным файлом" ошибка, в зависимости от ситуации, могут быть использованы следующие подходы.

Перейдите в папку с исполняемыми файлами в командной строке

Если выполнение команды не требуется на регулярной основе, достаточно перейти через командную строку в папку, содержащую нужный файл, это делается следующим образом:

  1. Например, мы знаем, что python.exe для последней версии Python на момент написания этой статьи находится по адресу
    C:\Users\имя_пользователя\AppData\Local\Programs\Python\Python39

    pip.exe — также в подпапке Scripts (если не понятно, как туда попасть, процесс показан в видео ниже), adb.exe — где-то в папке с platform-tools и т.д. Скопируйте этот путь, что можно сделать из адресной строки проводника.

  2. Если командная строка запущена на том же диске, где находится нужный исполняемый файл, введите команду вида:
    cd полный_путь_к_папке_с_исполняемым_файлом
  3. Если командная строка запущена на диске C:, а исполняемый файл находится на другом диске, то перед шагом 2 используйте команду вида (здесь D измените на нужную букву диска) D:, затем Enter.
  4. Введите нужную команду, которая ранее сообщала об ошибке, — теперь она должна выполниться успешно.

Выполнение команды с папкой

Добавление папки с программой в переменную системного окружения PATH

В случае, когда использование команд требуется на регулярной основе, например, для работы с git, имеет смысл добавить папку с этим исполняемым файлом в PATH, чтобы потом можно было запускать команды в любой момент, независимо от того, в какой папке открыта командная строка:

  1. Введите "Изменение переменных среды" в поиск на панели задач Windows 10 или Windows 11 или нажмите клавиши Win+R, тип sysdm.cpl, нажмите Enter, и в окне свойств системы перейдите к пункту "Дополнительно" вкладка.
  2. Нажмите на кнопку "Переменные среды" кнопка. Откройте настройки переменных системного окружения
  3. В следующем окне вы можете добавить папку с исполняемым файлом в PATH только для текущего пользователя или для всей системы. Выберите Path в нижней панели и нажмите на "Изменить". Измените системную переменную PATH
  4. В следующем окне щелкните "Новый" и вставьте путь к папке с исполняемым файлом, используемым в команде. Добавление папки в системную переменную PATH
  5. Сохранение настроек. Также следует перезапустить командную строку.

Выполнено: Если все было указано правильно, теперь вы можете выполнять соответствующие команды, не указывая полный путь к исполняемым файлам, и сообщение об ошибке не появится.

Примечание: если ошибка возникает при использовании команд python, обратите внимание, что при первоначальной установке вам будет предложено добавить необходимые пути в PATH (установите флажок Add Python to PATH), то же самое часто происходит при установке других программ:

Добавление Python в PATH при установке

Установка недостающих компонентов

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

  • Вы пытаетесь использовать команды telnet, но вы не зашли в Панель управления — Программы и функции — Включить или отключить функции Windows или включить "Клиент Telnet. Включение клиента Telnet
  • Запустите команду pyinstaller, но предварительно не установив ее с помощью команды pip install pyinstaller
  • Попробуйте использовать команды adb.exe, но не установили необходимые компоненты Android SDK Platform Tools.

Такая же ситуация может возникнуть и со многими другими компонентами, которые не входят в стандартную поставку Windows 10 и Windows 11, такими как java.

Если при запуске системных инструментов Windows возникает ошибка

В ситуации, когда "Не внутренняя и не внешняя команда" сообщение в командной строке появляется при попытке использовать системные инструменты, такие как sfc /scannow или slmgr:

  1. Внимательно проверьте правильность написания команды: раскладка, пробелы.
  2. Убедитесь, что в вашей системе есть нужные файлы (обычно в C:Windows\System32). Попробуйте запустить их непосредственно из этой папки (перейдя в папку с помощью cd C:\Windows\System32) и указав расширение, для файлов в примере — sfc.exe и slmgr.vbs
  3. Убедитесь, что в системной переменной окружения PATHEXT указаны следующие расширения: .COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH;.MSC

Видео инструкция

Надеюсь, эта статья и видео помогли разобраться в проблеме. До сих пор остаются вопросы? — задавайте их в комментариях, я постараюсь ответить.

Оцените статью
Blog Pro Comp