«Имя файла» не является внутренней или внешней командой, исполняемой программой или пакетным файлом
При попытке открыть какую-либо команду через окно служебной программы или консоль, вы сталкиваетесь с ошибкой – «Имя файла» не является внутренней или внешней командой, исполняемой программой или пакетным файлом. Система упрямо не открывает файл по каким-то причинам и этот факт очень раздражает. Причиной этого может быть один из нескольких вариантов: неправильно указан путь к файлу и отсутствие компонента в системе вообще, т.е по указанному адресу его не существует.
Ошибка в системной переменной
Основные причины, по которым появляется ошибка «не является внутренней или внешней командой»
Как уже было сказано, одна из причин заключается в неправильном указании пути к открываемому файлу. Обычно путь к файлу прописан в переменной «Path» в системе, должен быть указан строгий путь к директории, в котором размещены нужные файлы. Если имеются какие-то ошибки в настройках при указании пути в переменной, либо при указании имени файла, то система будет выдавать именно такую ошибку – «имя файла» не является внутренней или внешней командой, исполняемой программой.
Первым делом необходимо указать точный путь переменной «Path» операционной системе, чтобы не возникало ошибок при открытии файла. Для этого нужно наверняка знать расположение папки. К примеру, обратимся к программе, которая в дальнейшем будет работать с исполняемым файлом в определенной папке.
Переменная «Path» — это переменная операционной системы, которая служит для того, чтобы найти указанные исполняемые объекты через командную строку или терминал. Найти ее можно в панели управления Windows. В новых версиях Виндовс и других ОС указание вручную обычно не требуется.
Системная переменная Path
Указываем правильный путь в переменной path на ОС Windows 7
Чтобы правильно указать путь необходимо знать точное расположение файла. Если файл программы, который нужно открыть лежит на диске в С:\Program Files\Java\jdk 1.8.0.45\bin, тогда этот путь нужно скопировать и указать в системной переменной для последующего открытия.
- Далее нам понадобиться рабочий стол, наводим мышь на «Мой компьютер» и в контекстном меню выбираем «Свойства».
- Нажимаем «Дополнительные параметры» слева и выбираем пункт «Переменные среды».
- В открывшемся окне ищем строку «Path» нажимаем на нее и вставляем скопированные путь сюда.
- Действие нужно подтвердить кнопкой «Ок». Компьютер желательно перезагрузить, чтобы настройки точно вступили в силу. Откройте консоль и вбейте нужную команду. Ошибки быть не должно.
Командная строка
В том случае, если ошибка будет появляться снова, попробуйте перенести программу в рабочие директории диска с установленной операционной системой, например /System32. С этой директорией Виндовс работает чаще.
Также ошибки возникают из-за отсутствия компонентов программы. Устранить их можно дополнив нужными. Для примера возьмем компонент «Telnet». Чтобы его включить, перейдите:
- На «Панель управления».
- Дальше выберите «Включение и выключение компонентов».
- Из списка выбираем «Клиент Telnet», напротив ставим галочку и нажимаем «Ок».
- Компонент должен работать и ошибок возникать больше не должно.
Компонент Windows Telnet
Не работают ping, ipconfig, netstat и другие команды cmd
Случается такое, когда вы в командную строку (cmd) операционной системы Microsoft Windows вводите, например, какие-то стандартные команды, вроде “ping” или “ipconfig“, и вам выдается сообщение следующего вида: “ping” не является внутренней или внешней командой, исполняемой программой или пакетным файлом. Или же что-то подобное: “ipconfig” не является внутренней или внешней командой, исполняемой программой или пакетным файлом. Т.е. по сути “ping” не работает. В чем же может быть дело?
Самое интересное то, что если ввести полный адрес любой из этих стандартных консольных программ Windows примерно так: C:\WINDOWS\system32\ping то, как ни странно, программы заработают, и будут запускаться как положено. Таким образом, мы имеем проблемы с стандартными путями запуска программ. Если же и после указания точного адреса директории запуска стандартные программы отказались работать и по-прежнему “не явлются внутренними или внешними командами”, то в этом случае целесообразно проверить присутствие одноименных файлов (ping.exe, ipconfig.exe, netstat, etc) в самой системной папке операционной системы system32. Возможно, их там просто нет, i.e. они были удалены оттуда вследствие каких-то действий.
Если же всё в порядке, файлы там есть и программы отлично запускаются с командной строки при обращении к ним по полному адресу, то проблему, чаще всего, кроется в системной переменной “PATH”. Скорее всего, у вас она перезаписана и для стандартной работы штатных программ надо восстановить в ней начальные значения.
Для этого делаем следующий нехитрый набор действий. Добираемся к системным переменным по следующему пути: Свойства системы -> Дополнительно -> Переменные среды, и там в “Системные переменные” смотрим переменную с названием “Path”. Открываем её, и заменяем её значение на одно из следующих:
А также любые другие директории, откуда хотим запускать в cmd команды без явного указания полного пути.
(В первом примере используются переменные, во втором явное указание абсолютного пути к системной директории Windows).
Т.е. здесь вы прописываете через знак “;” (точка с запятой) все папки откуда хотите по-умолчанию запускать программы непосредственно из командной строки без указания явного адреса. Таким образом указанное название при вызове в cmd будет искаться именно в этих директориях, которые вы прописали в переменной “Path”. Вы можете всячески изменять эти параметры для ваших целей. Каждая новая директория пишется в той же строке и отделяется от предыдущей знаком “;” обязательно без каких-либо пробелов.
После всех действий сохраняем изменения, открываем заново командную строку и пробуем вызвать полюбившиеся программы как обычно с помощью указания имени. Теперь, сообщение “команда не является внутренней или внешней командой, исполняемой программой или пакетным файлом” должно исчезнуть, а программы – запускаться как положено.
не работает ipconfig
ping не является внутренней или внешней windows
ipconfig не работает
ping не является внутренней или внешней
ipconfig не является внутренней или внешней
ping не является внутренней или внешней командой
“ping” не является внутренней или внешней командой, исполняемой программой или пакетным файлом
Не является внутренней или внешней командой
Else не является внутренней или внешней командой
Здравствуйте, недавно захотелось создать батник по оптимизации ПК(я в этом деле новичок, не судите.
MSG не является внутренней или внешней командой — именно из пакетного файла
Голову сломил. Почему команда MSG из под интерпретатора работает нормально (ПУСК -> Выполнить ->.
Ошибка в паттерне sed. png не является внутренней или внешней командой, исполняемой программой или пакентным файлом
Здравствуйте. Использую cygwin, поэтому могу использовать sed. Не знаю, правильный ли это.
Сообщение об ошибке «. не является внутренней или внешней командой. » при вызове javac и preverify
Ошибка, вроде типичная, пишет, что эти команды не являются внутренней или внешней командой и т.д.
Вложения
menu.rar (3.0 Кб, 4 просмотров) |
Это очень хитрая команда 🙂
А ведь могло. ТС написал программу в prodaction. Программа не работает — prod сервер бесполезно шелестит процессорными тактами, прод манагер вторые сутки бьется в конвульсиях, сисадмин поднял на уши техподдержку мелкгомягких: «Все ваши команды ‘не являются внутренней или внешней командой. А-а-а! Зачем мы только купили лицензию!»
Билл Гейтс срочно вызван в офис из своего Xanadu 2.0 и теперь все пытаются найти безвестного автора кода cmd, который много лет назад написал процедуру позволившую простому русскому кулхацкеру вот так просто уничтожить доступ к системным программам.
Сценарий предстоящего блокбастера «Commando.com: Path of death» защищен лицензией Beerware 🙂
Ошибка пользователя произошла из-за двусмысленности древнего синтаксиса cmd.
, это команда установки значения переменной или команда для показа содержимого ?
Смешно, но оказалось, что и для того, и для другого.
Результат можно посмотреть в 1-ом посте.
Powershell — современная оболочка(*), в которой политика в части названий командлетов устраняет подобную двусмысленность:
Get-Item / Set-Item
Get-Content / Set-Content
Get-Date / Set-Date
.
——————————-
(*) Это не то чтобы какой-то прорыв в будущее; 40 лет назад, например, в DCL: Set File/Show file, Set Process/Show Process, Set User/Show user etc
path использую в коде, для того, что бы попасть в папку исполняющего файла, т.е.
path %the_bat%(перейти в папку the bat, путь прописан в переменной set the_bat=c:\the bat\)
далее запустить уже команду с нужными атрибутами.
Я правильно понимаю, что проблема в этой команде? Если я path заменю на команду cd проблема решится?
alpap
Общая суть скрипта следующая. Будет примерно 30-50 таких скриптов построенных на основе этого. У всех алгоритм работы почти одинаковый, будут изменения только в путях и атрибутах для команд The bat и makeTK.
sub1 часть кода забирает файлы, раскидывает их в нужные папки и запускает makeTK, далее полученный файл автоматом попадает в The bat. Эта часть работает и проверенна. Сложности начинаются дальше.
sub2 Часть кода. Нужно, подключить VPN соединение, запустить файл аутентификации(вывел его отдельно start telnet_n2.vbs) далее запускаем the bat(TheBat.exe /send*) на отправку сообщений, после чего нужна пауза и the bat(TheBat /check*) на прием файлов. В идеале хочу сделать интервал ожидания 20 секунд и проверку на прием файлов с возможностью в какой-то момент прервать ожидание и перейти к следующей части кода, как это сделать не знаю. Сложность в том, что ответы на отправленные файлы могут придти в интервале от 2 до 10 минут, т.е. нужна бесконечная(долгая) пауза с частатой 20 секунд и запуском the bat(TheBat /check*) с возможностью в какой-то момент скипнуть её и пойти дальше по коду.
Далее код работает корректно. Далее полученный ответ обрабатывается makeTK, переносим полученные в результате файлы в каталоги архива и убираем созданный в 1 части файл(отправленный по the bat) в общий архив.
sub3 Часть кода создает файл для печати. Из ies1 берет текст вставляет его в общий текстовый файл, потом вставляет текст из файла с отступами и после текст из ies2. Файл с отступами нужен, что бы текст ies1 и ies2 не склеился, далее идет текст из файла space там просто отступы(enter, enter, enter. ), что бы перейти на 2 страницу и сделать тоже самое n кол-во раз(в данном случае 3 раза). В итоге мы получаем 3 листа на каждом ies1 и ies2. Идея с отступами работает, но так и не смог написать код для отправки файла на печать. По этому просто решил написать код на открытие файла через блокнот и далее руками нажимать ctrl+p enter.
sub5 В итоге хочу на эту кнопку поставить все части в последоватльном запуске с паузой в конце каждого sub(пункта).
На будущее, как сделать 1 bat файл, с огромным меню на 30-50 кнопок с запуском каждого скрипта. Т.е. нажимаем в первом меню(bat файле) нужный пункт, закрывается этот bat и открывается следующий bat файл с меню(который мы обсуждаем здесь) далее идет последовательная обработка по пунктам.
Еще вопрос, как после выполнения sub1 вернуться в меню обратно? Т.е. выполнили sub1 вернулись в меню, нажади sub2 после его работы вернулись в меню и т.д.