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

Обновлено: 06.07.2024

У меня проблема с использованием команды "xcopy".

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

путь правильно установлен, xcopy работает из командной строки windows и из визуального командная строка studio (та, которая установлена в среде проекта).

Я пытался установить путь в пакетном файле, но это не поможет.

какие будут предложения?

Я использую windows 7

я столкнулся с той же проблемой.

похоже, что это проблема с переменной среды path в Visual Studio.

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

это, похоже, указывает на то, что путь пуст в среде сборки VS.

когда я указываю полный путь к xcopy, как это, проблема ушла:

Я не уверен что заставило Visual Studio потерять свой путь.

установить переменную среды PATH = %SystemRoot%\system32;%SystemRoot%;%SystemRoot%\System32\Wbem;%SYSTEMROOT%\System32\WindowsPowerShell\v1.0\

Это произошло со мной после обновления одного из моих расширений Visual Studio, во время которого Visual Studio была закрыта и снова открыта программой обновления. Я больше не мог правильно строить свой проект. Я закрыл Visual Studio и снова открыл его, и проблема исчезла.

Это не проблема с Windows 7 или 8. На самом деле это проблема с приложениями, которые обновляют переменные среды, такие как PATH. Путь хранится в реестре как " расширяемое строковое значение "(REG_EXPAND_SZ), но многие приложения записывают его обратно в реестр как" строковое значение " (REG_SZ). Если ваш путь содержит что-либо вроде %SYSTEMROOT%, это не будет расширено в C:\Windows (или что у вас есть), если путь sotred в REG_SZ.

вы можете сказать, нарушен ли ваш путь таким образом, открыв командную строку и набрав путь. Ваш путь будет указан. Если вы можете видеть все, что заключено в% %, тогда ваш путь не расширяется.

Я только что испытал это в первый раз с пакетным файлом, который я использую для копирования интерфейсного приложения Access на локальные машины пользователя. Их среда представляет собой смесь Windows 7 & 8 и 32-64 битных машин. Я заметил, что xcopy.exe был как в System32, так и в папках SysWOW64, и мне было интересно, был ли какой-то конфликт. Итак . я скопировал xcopy.exe в папку, где находится пакетный файл и теперь это, кажется, работает. Просто решил поделиться.

перейти к переменной среды и правильный путь, включая ; в прошлом. Это будет работать, это совсем не связано с ОС или технологией. Он работает для меня, даже не нужно перезапускать ОС, просто откройте новую командную строку.

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

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

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

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

Отсюда следуют наиболее распространённые причины появления ошибки при выполнении команды:

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

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

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

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

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

  1. Например, мы знаем, что python.exe для последней версии Python на момент написания этой статьи располагается в папкеpip.exe — там же во вложенной папке Scripts (если окажется не ясным, как попасть в эту папку, процесс показан в видео ниже), adb.exe — где-то в папке с platform-tools и так далее. Скопируйте этот путь, сделать это можно из адресной строки проводника.
  2. Если командная строка запущена на том же диске, где находится нужный исполняемый файл, введите команду вида:
  3. Если командная строка запущена на диске C:, а исполняемый файл находится на другом диске, то перед 2-м шагом используйте команду вида (здесь D меняем на нужную букву диска) D: с последующим нажатием Enter.
  4. Введите нужную команду, которая ранее сообщала об ошибке — теперь она должна выполниться успешно.

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

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

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

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

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

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

Включение клиента Telnet

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

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

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

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

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

Связано: Общие проблемы Windows 10 2004 и доступные исправления: Подробный список

Что означает «не распознается как внутренняя или внешняя команда»?


  • Имя исполняемого файла было введено без расширения и без полного пути.
  • Windows не нашла исполняемый файл, соответствующий имени файла, включая его расширение, ни в одном каталоге, указанном в поле «Путь» для переменных среды.

Ошибка «Не распознается как внутренняя или внешняя команда» вызывает:

1. Исполняемый файл или скрипт не установлены

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

2. Имя файла и путь указаны неверно.

3. Каталог файлов не найден в переменных среды Windows

Другая возможность заключается в том, что каталог файла, который вы пытаетесь выполнить, не существует в переменных среды Windows. Серия каталогов, известная как «Путь», находится в разделе «Системные переменные» в переменных среды Windows и требуется для выполнения команд. Здесь также должен находиться ваш файловый каталог, особенно если вы не указываете полный путь к вашему файлу в командной строке.

Но некоторые программы, вирусы и вредоносные программы могут изменять эти переменные среды. Если это произойдет, командная строка не сможет распознать команды или выполнить их.

4. Исполняемые файлы в system32 не найдены в 64-битной Windows

Для тех, кто использует 64-битную Windows, может быть другая потенциальная причина ошибки.

По умолчанию «Путь» переменных среды Windows содержит папку C: Windows System32. Это означает, что при работе в 64-разрядной среде командная строка ищет каталог пути в C: Windows System32. Поэтому, если вы хотите запускать 32-битные программы, вы должны выполнять их в 32-битной среде.

Исправление ошибки «не распознается как внутренняя или внешняя команда» в основном связано с исправлением проблем, упомянутых выше. Имея это в виду, давайте рассмотрим исправления по одному.

Метод № 01: проверьте, установлена ​​ли программа

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

Нажмите Win + I, чтобы открыть Настройки, и выберите Приложения.


Выбрав Приложения и функции на левой панели, вы увидите список программ на правой панели.



Если программа не отображается здесь, откройте проводник (Win + E) и перейдите в следующую папку:
C: Windows System32

Этот каталог содержит все системные файлы ваших приложений. Прокрутите и проверьте, доступна ли программа, которую вы пытаетесь запустить (с ее исполняемым файлом). Если это не так, приложение не установлено в этой папке, и вы, скорее всего, не сможете запустить приложение, просто введя его имя файла. Этот вопрос можно решить следующим образом.

Когда вы пытаетесь запустить программу или исполняемый файл из командной строки, последний выполняет поиск в папке System32 и запускает файл. Но если файла нет, как это бывает с некоторыми программами, вы можете переместить его в папку System32. Вот как это сделать.

Примечание: Вам нужно будет войти в систему под учетной записью администратора для следующих целей.

Сначала перейдите в папку с программой и скопируйте все файлы, находящиеся в папке (выделите все файлы и нажмите Ctrl + C для этого). В нашем примере мы хотим запустить Microsoft Edge (msedge.exe) через командную строку и копируем все файлы, находящиеся в папке приложения.


И вставляем файлы (Ctrl + V) в папку C: Windows System32.

Теперь, если вы просто введете имя исполняемого файла, ваша команда будет работать без ошибок.


Метод № 03: укажите полный путь к файлу


Например, если вы пытаетесь запустить PowerToys.exe, расположенный в папке PowerToys на диске C, команда может выглядеть так:
C: PowerToys PowerToys.exe

Этот метод работает, только если в вашей команде нет пробелов. Но если где-то в пути к вашему файлу есть пробел, вам нужно сделать следующее.

Метод № 04: вставьте весь путь к файлу в двойных кавычках

Ошибка «Не распознается как внутренняя или внешняя команда» также может быть результатом неправильного использования командных строк, особенно при вставке путей к файлам.

В командной строке «пробел» читается как конец команды. Все, что введено после пробела, введенного через клавишу «пробел» или «табуляция», будет считаться аргументом. Итак, если в пути к вашему файлу есть пробелы, убедитесь, что вы заключили путь в двойные кавычки.


Нажмите Win + R, чтобы открыть окно ВЫПОЛНИТЬ, и найдите «Панель управления».


Щелкните Система и безопасность.



На левой боковой панели нажмите Расширенные настройки системы.


В окне «Свойства системы» щелкните «Переменные среды» внизу.


Откроется окно «Переменные среды». Здесь в разделе «Системные переменные» щелкните, чтобы выбрать переменную с указанием «Путь», а затем щелкните «Изменить».


Теперь, чтобы добавить новое значение переменной (расположение файла), нажмите «Создать».


Здесь добавьте путь к папке с программой / приложением, которое вы хотите запустить через командную строку.


Вы можете сделать это, просто перейдя туда, где установлено ваше приложение (chrome.exe в нашем примере), и скопировав путь…


… И вставив его в окно переменных окружения;


Или через само окно переменных окружения. Для этого нажмите «Обзор».


Затем перейдите к папке, выберите ее и нажмите ОК.


После того, как вы добавили эту новую переменную среды для доступа к командной строке, нажмите OK во всех открытых окнах. Если вы сейчас откроете командную строку и просто введете имя исполняемого файла, ваше приложение откроется незамедлительно.



Для этого просто введите следующую команду:
компакт-диск c: windows SysWOW64

Это изменит каталог, в котором командная строка ищет ваш 32-разрядный исполняемый файл.

Исправлено: Python не распознается как внутренняя или внешняя команда

Если вы получаете ту же ошибку при запуске Python из командной строки, весьма вероятно, что исполняемый файл Python отсутствует в переменных среды.


Вы сможете запустить Python из командной строки.

Исправлено: команда Python открывает Microsoft Store

В Windows 10 многие также обнаружили, что иногда после добавления пути Python к переменным среды и запуска «python.exe» в командной строке возникает новая проблема. Вместо прямого открытия python.exe они переносятся в Microsoft Store.


Теперь у вас должна быть возможность запускать python.exe из командной строки без перенаправления туда, куда вы не хотите идти.

Android Studio: не распознается как внутренняя или внешняя команда

Android Studio имеет собственную команду терминала для выполнения команд. И здесь встречается такая же ошибка при попытке запустить команду adb.

Причиной проблемы здесь, как правило, является неправильный путь к папке adb. Но ее легко решить, если вы знаете, где находится файл adb.exe.

По умолчанию adb находится в следующей папке:
C: Users (имя пользователя) AppData Local Android Sdk platform-tools
Итак, все, что вам нужно сделать, это открыть Android Studio, щелкнуть File> Settings. В следующем окне в разделе «Инструменты» щелкните «Терминал». Затем введите полное местоположение в adb в начальном каталоге.


Перезапустите Android Studio, и ваша команда adb должна выполняться сейчас.


Кроме того, вы можете изменить каталог в самом терминале Android Studio. Просто введите следующую команду:
cd C: Users (имя пользователя) AppData Local Android Sdk platform-tools

Теперь вы должны иметь возможность запускать adb из команды терминала Android Studio.

CMD: Fastboot или ADB не распознается как внутренняя или внешняя команда

Наконец, если вы загрузили Fastboot и не можете выполнить команду adb из cmd, это означает, что вы должны указать путь к ADB в системных переменных (в переменных среды).

Откройте переменные среды Windows (как показано ранее), в разделе «Системные переменные» выберите «Путь» и нажмите «Изменить». Затем добавьте полный путь к папке с инструментами платформы (которая содержит adb.exe). Примените изменения.


Перезапустите командную строку, и вы сможете выполнить команду adb.


При попытке открыть какую-либо команду через окно служебной программы или консоль, вы сталкиваетесь с ошибкой – «Имя файла» не является внутренней или внешней командой, исполняемой программой или пакетным файлом. Система упрямо не открывает файл по каким-то причинам и этот факт очень раздражает. Причиной этого может быть один из нескольких вариантов: неправильно указан путь к файлу и отсутствие компонента в системе вообще, т.е по указанному адресу его не существует.

Ошибка «Имя файла» не является

Первым делом необходимо указать точный путь переменной «Path» операционной системе, чтобы не возникало ошибок при открытии файла. Для этого нужно наверняка знать расположение папки. К примеру, обратимся к программе, которая в дальнейшем будет работать с исполняемым файлом в определенной папке.

Системная переменная Path

Указываем правильный путь в переменной path на ОС Windows 7

Чтобы правильно указать путь необходимо знать точное расположение файла. Если файл программы, который нужно открыть лежит на диске в С:\Program Files\Java\jdk 1.8.0.45\bin, тогда этот путь нужно скопировать и указать в системной переменной для последующего открытия.

Командная строка

  1. Далее нам понадобиться рабочий стол, наводим мышь на «Мой компьютер» и в контекстном меню выбираем «Свойства».
  2. Нажимаем «Дополнительные параметры» слева и выбираем пункт «Переменные среды».
  3. В открывшемся окне ищем строку «Path» нажимаем на нее и вставляем скопированные путь сюда.
  4. Действие нужно подтвердить кнопкой «Ок». Компьютер желательно перезагрузить, чтобы настройки точно вступили в силу. Откройте консоль и вбейте нужную команду. Ошибки быть не должно.

В том случае, если ошибка будет появляться снова, попробуйте перенести программу в рабочие директории диска с установленной операционной системой, например /System32. С этой директорией Виндовс работает чаще.

Также ошибки возникают из-за отсутствия компонентов программы. Устранить их можно дополнив нужными. Для примера возьмем компонент «Telnet». Чтобы его включить, перейдите:

  • На «Панель управления».
  • Дальше выберите «Включение и выключение компонентов».
  • Из списка выбираем «Клиент Telnet», напротив ставим галочку и нажимаем «Ок».
  • Компонент должен работать и ошибок возникать больше не должно.

Читайте также: