msg.exe
is not available on all Windows platforms in all environments.
There is just %SystemRoot%\System32\msg.exe
(64-bit), but no %SystemRoot%\SysWOW64\msg.exe
(32-bit) on Windows 7 x64 Enterprise whereby 64-bit msg.exe
must be accessed from within a 32-bit command process by using %SystemRoot%\Sysnative\msg.exe
.
For details about System32
, SysWOW64
and Sysnative
see the Microsoft documentation page File System Redirector.
What does this mean?
-
A batch file being executed on 32-bit Windows needs to run
%SystemRoot%\System32\msg.exe
. -
A batch file being executed on 64-bit Windows by 64-bit
cmd.exe
needs to run%SystemRoot%\System32\msg.exe
. -
A batch file being executed on 64-bit Windows by 32-bit
cmd.exe
needs to run%SystemRoot%\Sysnative\msg.exe
.
It depends on architecture of parent process starting cmd.exe
or the batch file which implicitly results in starting cmd.exe
for execution of the batch file if the batch file is executed in 32-bit or 64-bit environment on 64-bit Windows.
So a batch file is called with using explicitly %SystemRoot%\Sysnative\cmd.exe
from a 32-bit application on Windows x64 or inside the batch file %SystemRoot%\Sysnative\msg.exe
is used on a Windows x64 machine while on a Windows x86 machine %SystemRoot%\System32\cmd.exe
respectively %SystemRoot%\System32\msg.exe
must be used.
Demo example for first variant with using 64-bit command line interpreter:
Batch file with name MsgDemo.bat
:
@echo off
%SystemRoot%\System32\msg.exe /?
pause
is called from 32-bit process running on Windows x64 with:
%SystemRoot%\Sysnative\cmd.exe /C MsgDemo.bat
Demo example for second variant with referencing msg.exe
correct:
@echo off
set "AppMsg=%SystemRoot%\System32\msg.exe"
if not "%ProgramFiles(x86)%" == "" (
rem Explicitly reference 64-bit version on Windows x64 as there is
rem no 32-bit version. But use Sysnative redirector only if the batch
rem file was started with 32-bit cmd.exe as otherwise System32 contains
rem msg.exe if it is not missing at all like on Windows 7 Home Premium.
if exist %SystemRoot%\Sysnative\* set "AppMsg=%SystemRoot%\Sysnative\msg.exe"
)
%AppMsg% /?
set "AppMsg="
pause
The redirector %SystemRoot%\Sysnative
doesn´t exist for 64-bit processes, just for 32-bit processes.
%SystemRoot%\Sysnative
is not a directory. Therefore if exist %SystemRoot%\Sysnative
does not work, just if exist %SystemRoot%\Sysnative\*
.
Не является внутренней или внешней командой, исполняемой программой или пакетным файлом — как исправить?
При выполнении команд в командной строке Windows 10 и Windows 11 вы можете получить сообщение об ошибке, где указано первое «слово» вашей команды — adb.exe, pip или python, npm или git, java, telnet или любое другое, а далее — не является внутренней или внешней командой, исполняемой программой или пакетным файлом.
В этой инструкции подробно о том, что означает такое сообщение, почему появляется и как исправить ошибку при выполнении наиболее распространённых команд в командной строке.
- Причины ошибки
- Способы исправить ошибку Не является внутренней или внешней командой
- Видео инструкция
Причины ошибки «Не является внутренней или внешней командой» при выполнении команд в командной строке Windows 10 и Windows 11
Для того, чтобы понять суть ошибки, давайте рассмотрим, что происходит при выполнении команды в командной строке, в качестве примера будем использовать такой код:
команда параметр1 параметр2
- В случае, если «команда» является собственной встроенной командой консоли (в качестве примера — cls), она выполняется с заданными параметрами.
- Если «команда» — это какой-то файл .exe, .cmd, .bat или иной, например, pip, python или adb, выполняется попытка его запуска из расположения, где запущена командная строка (выделено на изображении ниже) или из расположений, добавленных в системную переменную PATH (о которой поговорим подробнее далее). При удачном запуске и правильно переданных параметрах команда выполняется.
Отсюда следуют наиболее распространённые причины появления ошибки при выполнении команды:
- Самая распространённая причина — отсутствие исполняемого файла в папке, где запущена командная строка и в папках, содержащихся в PATH.
- Ошибки при написании команды: при ошибке в имени файла, он не будет найден, что и приведёт к указанной ошибке.
- Файл отсутствует где-либо, например, вы пробуете использовать telnet, в то время, когда соответствующий компонент Windows не установлен.
- Редко — запускаемый через командную строку файл действительно не является исполняемой программой: изначально сам по себе или из-за повреждений.
Теперь о том, что делать в рассматриваемой ситуации.
Как исправить ошибку
Для исправления ошибки «Не является внутренней или внешней командой, исполняемой программой или пакетным файлом» в зависимости от ситуации можно использовать следующие подходы.
Переход к папке с исполняемым файлом в командной строке
Если выполнение команды требуется не на регулярной основе, достаточно перейти в командной строке в папку, содержащую нужный файл, делается это следующим образом:
- Например, мы знаем, что python.exe для последней версии Python на момент написания этой статьи располагается в папке
C:\Users\имя_пользователя\AppData\Local\Programs\Python\Python39
pip.exe — там же во вложенной папке Scripts (если окажется не ясным, как попасть в эту папку, процесс показан в видео ниже), adb.exe — где-то в папке с platform-tools и так далее. Скопируйте этот путь, сделать это можно из адресной строки проводника.
- Если командная строка запущена на том же диске, где находится нужный исполняемый файл, введите команду вида:
cd полный_путь_к_папке_с_исполняемым_файлом
- Если командная строка запущена на диске C:, а исполняемый файл находится на другом диске, то перед 2-м шагом используйте команду вида (здесь D меняем на нужную букву диска) D: с последующим нажатием Enter.
- Введите нужную команду, которая ранее сообщала об ошибке — теперь она должна выполниться успешно.
Добавление папки с программой в системную переменную среды PATH
В случае, когда использование команд требуется регулярно, например, для git, разумным будет добавить папку с этим исполняемым файлом в PATH, чтобы затем в любой момент времени выполнять команды, независимо от того, в какой папке открыта командная строка:
- Введите в поиск на панели задач Windows 10 или Windows 11 «Изменение переменных среды» или нажмите клавиши Win+R, введите sysdm.cpl, нажмите Enter, а в окне свойств системы перейдите на вкладку «Дополнительно».
- Нажмите кнопку «Переменные среды».
- В следующем окне вы можете добавить папку с исполняемым файлом в переменную PATH только для текущего пользователя или для системы в целом. Выбираем Path в нижней панели и нажимаем «Изменить».
- В следующем окне нажимаем «Создать» и вставляем путь к папке с исполняемым файлом, используемом в вашей команде.
- Сохраняем настройки. Также следует перезапустить командную строку.
Готово: если всё было указано верно, теперь вы сможете выполнять соответствующие команды без указания полного пути к исполняемым файлам, а сообщение об ошибке появляться не будет.
Примечание: если ошибка возникает при использовании команд python, обратите внимание, что при первоначальной установке вам предложат добавить необходимые пути в PATH (отметка Add Python to PATH), то же самое часто бывает и при установке других программ:
Установка недостающих компонентов
Иногда проблема возникает из-за того, что нужный файл попросту отсутствует на компьютере:
- Вы пробуете использовать команды telnet, но не зашли в Панель управления —Программы и компоненты — Включение или отключение компонентов Windows и не включили «Клиент Telnet».
- Запускаете команды pyinstaller, но предварительно не установили его командой pip install pyinstaller
- Пробуете использовать команды adb.exe, но не установили необходимые компоненты Android SDK Platform Tools.
Аналогичная ситуация может быть и для многих других, не входящих в стандартную поставку Windows 10 и Windows 11 компонентов, например, java.
Если ошибка возникает при запуске системных инструментов Windows
В ситуации, когда сообщение «Не является внутренней или внешней командой» в командной строке выдается при попытке использовать системные инструменты, такие как sfc /scannow или slmgr:
- Внимательно проверьте правильность написания команды: раскладка, пробелы.
- Убедитесь, что соответствующие файлы есть в системе (обычно — в C:\Windows\System32). Попробуйте запустить их напрямую из этой папки (перейдя в папку с помощью cd C:\Windows\System32) и с указанием расширения, для файлов в примере — sfc.exe и slmgr.vbs
- Убедитесь, что в системной переменной среды PATHEXT указаны следующие расширения: .COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH;.MSC
Видео инструкция
Надеюсь, статья и видео помогли разобраться с проблемой и помогли в её решении. Остаются вопросы? — задавайте их в комментариях, я постараюсь ответить.
Содержание
- Msg не является внутренней или внешней командой windows 10
- Запуск MSG /? на коробке Win 10 сказал, что MSG не был признан командой
- Не является внутренней или внешней командой
- «Имя файла» не является внутренней или внешней командой, исполняемой программой или пакетным файлом
- Основные причины, по которым появляется ошибка «не является внутренней или внешней командой»
- Указываем правильный путь в переменной path на ОС Windows 7
- «.» не является внутренней или внешней командой. Как обойти?
- Else не является внутренней или внешней командой
- Решение
- Решение
Я проверил «Программы» (что раньше называлось «Программы и компоненты») и не увидел в нем что-то, что я мог установить.
В чем дело? Как мне сделать это полезным? Каким другим коммадам нужно сделать такое же волшебство, чтобы они работали из обычной командной строки?
Спасибо за любую помощь.
Вы, очевидно, используете на всех компьютерах версию Home. Эта версия не включает команду MSG. Команда доступна только в версиях Windows, начиная с Pro.
В качестве дополнительного замечания, протестированного на Windows Enterprise, даже старая команда «net send» все еще существует в этой версии.
Судя по всему, попытка трансплантации msg.exe с более высоких версий Windows на Home не работает, поэтому нет простого обходного пути.
Однако вы можете написать свой собственный.
Используя бесплатный psexec, вы можете выполнять код на удаленных компьютерах, который создает всплывающее сообщение.
Самые изящные, которые я нашел, были:
Запуск MSG /? на коробке Win 10 сказал, что MSG не был признан командой
Мы купили новый компьютер для нового офиса; на нем, конечно, установлена Windows 10 (Home).
Домашние выпуски Windows не включают msg
Какие другие команды должны сделать то же самое волшебство, чтобы они работали из обычной командной строки?
Этот вопрос «слишком широкий».
Источник
Не является внутренней или внешней командой
Помощь в написании контрольных, курсовых и дипломных работ здесь.
Else не является внутренней или внешней командой
Здравствуйте, недавно захотелось создать батник по оптимизации ПК(я в этом деле новичок, не судите.
Ошибка в паттерне sed. png не является внутренней или внешней командой, исполняемой программой или пакентным файлом
Здравствуйте. Использую cygwin, поэтому могу использовать sed. Не знаю, правильный ли это.
Сообщение об ошибке «. не является внутренней или внешней командой. » при вызове javac и preverify
Ошибка, вроде типичная, пишет, что эти команды не являются внутренней или внешней командой и т.д.
Вложения
menu.rar (3.0 Кб, 4 просмотров) |
Это очень хитрая команда 🙂
Ошибка пользователя произошла из-за двусмысленности древнего синтаксиса cmd.
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 после его работы вернулись в меню и т.д.
Источник
«Имя файла» не является внутренней или внешней командой, исполняемой программой или пакетным файлом
При попытке открыть какую-либо команду через окно служебной программы или консоль, вы сталкиваетесь с ошибкой – «Имя файла» не является внутренней или внешней командой, исполняемой программой или пакетным файлом. Система упрямо не открывает файл по каким-то причинам и этот факт очень раздражает. Причиной этого может быть один из нескольких вариантов: неправильно указан путь к файлу и отсутствие компонента в системе вообще, т.е по указанному адресу его не существует.
Основные причины, по которым появляется ошибка «не является внутренней или внешней командой»
Как уже было сказано, одна из причин заключается в неправильном указании пути к открываемому файлу. Обычно путь к файлу прописан в переменной «Path» в системе, должен быть указан строгий путь к директории, в котором размещены нужные файлы. Если имеются какие-то ошибки в настройках при указании пути в переменной, либо при указании имени файла, то система будет выдавать именно такую ошибку – «имя файла» не является внутренней или внешней командой, исполняемой программой.
Первым делом необходимо указать точный путь переменной «Path» операционной системе, чтобы не возникало ошибок при открытии файла. Для этого нужно наверняка знать расположение папки. К примеру, обратимся к программе, которая в дальнейшем будет работать с исполняемым файлом в определенной папке.
Переменная «Path» — это переменная операционной системы, которая служит для того, чтобы найти указанные исполняемые объекты через командную строку или терминал. Найти ее можно в панели управления Windows. В новых версиях Виндовс и других ОС указание вручную обычно не требуется.
Указываем правильный путь в переменной path на ОС Windows 7
Чтобы правильно указать путь необходимо знать точное расположение файла. Если файл программы, который нужно открыть лежит на диске в С:Program FilesJavajdk 1.8.0.45bin, тогда этот путь нужно скопировать и указать в системной переменной для последующего открытия.
В том случае, если ошибка будет появляться снова, попробуйте перенести программу в рабочие директории диска с установленной операционной системой, например /System32. С этой директорией Виндовс работает чаще.
Также ошибки возникают из-за отсутствия компонентов программы. Устранить их можно дополнив нужными. Для примера возьмем компонент «Telnet». Чтобы его включить, перейдите:
Поставьте галочку рядом с компонентом Windows Telnet
Источник
«.» не является внутренней или внешней командой. Как обойти?
Значение Path:
C:Program FilesPico TechnologySDKlib;C:Program Files (x86)NVIDIA CorporationPhysXCommon;C:Program FilesMicrosoft MPIBin;C:ProgramDataOracleJavajavapath;C:Perl64site bin;C:Perl64bin;C:Program Files (x86)AMD APPbinx86_64;C:Program Files (x86)AMD APPbinx86;%SystemRoot%system32;%SystemRoot%;%SystemRoot% System32Wbem;%SYSTEMROOT%System32WindowsPowerShellv1.0; C:Program Filesdotnet;C:Program FilesMiKTeX 2.9miktexbinx64:doxygenbin;C:Program Files (x86)IVI FoundationVISAWinNTBin;C:Program FilesIVI FoundationVISAWin64Bin;C:Program Files (x86)IVI FoundationVISAWinNTTekVISABIN;C:Program Files (x86)Pico TechnologyPicoScope6;C:Ddmd2windowsbin;
Помощь в написании контрольных, курсовых и дипломных работ здесь.
«Installapp.exe» не является внутренней или внешней командой
Здравствуйте я столкнулся с такой проблемой. Что делать?
«net» не является внутренней или внешней командой
Выполняю на windows10, с cmd или bat особо не знаком. Хочу сменить имя пользователя, пишу.
» » не является внутренней или внешней командой
Пытаюсь воспользоваться командой CON. Перехожу в папку с файлами CD.
Источник
Else не является внутренней или внешней командой
Помощь в написании контрольных, курсовых и дипломных работ здесь.
Не является внутренней или внешней командой
Подскажите, из-за чего возникает проблема с «любая команда bat» не является внутренней или внешней.
Ошибка в паттерне sed. png не является внутренней или внешней командой, исполняемой программой или пакентным файлом
Здравствуйте. Использую cygwin, поэтому могу использовать sed. Не знаю, правильный ли это.
Сообщение об ошибке «. не является внутренней или внешней командой. » при вызове javac и preverify
Ошибка, вроде типичная, пишет, что эти команды не являются внутренней или внешней командой и т.д.
Moxito6
C:Program Files (x86)Common FilesOracleJavajavapath;C:Windowssystem32;C:Windows;C: WindowsSystem32Wbem;C:WindowsSystem32WindowsPowerShell v1.0;C:WindowsSystem32OpenSSH;C:Program Files (x86)ATI TechnologiesATI.ACECor
e-Static;C:UsersМелкийAppDataLocalMicrosoftWindowsApps;
Добавлено через 4 минуты
alpap, спасибо, но не помогло. Сначала я так и сделал, но если я вводил «Y», либо «N», то вообще ничего не выходило, батник закрывался.
Moxito6
C:Program Files (x86)Common FilesOracleJavajavapath;C:Windowssystem32;C:Windows;C: WindowsSystem32Wbem;C:WindowsSystem32WindowsPowerShell v1.0;C:WindowsSystem32OpenSSH;C:Program Files (x86)ATI TechnologiesATI.ACECor
e-Static;C:UsersМелкийAppDataLocalMicrosoftWindowsApps;
Добавлено через 4 минуты
alpap, спасибо, но не помогло. Сначала я так и сделал, но если я вводил «Y», либо «N», то вообще ничего не выходило, батник закрывался.
Добавлено через 1 минуту
W1ldRag3, Кто так вообще пишет? Вы про отступы когда-нибудь слышали? Чтобы логику в виде блоков выделять.
Moxito6, вам бы п. 5.17 правил освоить.
FlasherX
Сначала попробовал, вроде всё по-маслу, но.
Опять-таки почему-то начало не работать ;-;
Я что-то не въезжаю, про какие отступы речь?
Ага, как я понимаю, сделать надо так?
Решение
Решение
Garry Galler, А, НЕТ!ВСЁ ХОРОШО!
Просто я убрал кавычки в «%PartI%»==»Y» в «Y»
И переставил некоторые кавычки.СПАСИБО ОГРОМНОЕ
Добавлено через 5 минут
Garry Galler, я вернул кавычки как было.
Вот так правильно?У меня почему-то выполняеться сразу всё, а не отдельный кусок
Garry Galler, теперь выполняется первое и закрывается командная строка
Добавлено через 20 секунд
Garry Galler, я правильно написал код? или что-то не так?
Добавлено через 2 минуты
Garry Galler, типо вот теперь код(с exit /b)
«»rar» не является внутренней или внешней командой, исполняемой программой или пакетным файлом.»
Когда ставил эту винду(ХР), пришлось пару файлов пропустить, диск был немного покоцаный, может быть.
«»cp» не является внутренней или внешней командой, исполняемой программой или пакетным файлом.»
Не могу использовать некоторые команды в консоли. Такие команды как dir или cls работают, а вот.
Источник
Не является внутренней или внешней командой, исполняемой программой или пакетным файлом — как исправить?
При выполнении команд в командной строке Windows 10 и Windows 11 вы можете получить сообщение об ошибке, где указано первое «слово» вашей команды — adb.exe, pip или python, npm или git, java, telnet или любое другое, а далее — не является внутренней или внешней командой, исполняемой программой или пакетным файлом.
В этой инструкции подробно о том, что означает такое сообщение, почему появляется и как исправить ошибку при выполнении наиболее распространённых команд в командной строке.
- Причины ошибки
- Способы исправить ошибку Не является внутренней или внешней командой
- Видео инструкция
Причины ошибки «Не является внутренней или внешней командой» при выполнении команд в командной строке Windows 10 и Windows 11
Для того, чтобы понять суть ошибки, давайте рассмотрим, что происходит при выполнении команды в командной строке, в качестве примера будем использовать такой код:
команда параметр1 параметр2
- В случае, если «команда» является собственной встроенной командой консоли (в качестве примера — cls), она выполняется с заданными параметрами.
- Если «команда» — это какой-то файл .exe, .cmd, .bat или иной, например, pip, python или adb, выполняется попытка его запуска из расположения, где запущена командная строка (выделено на изображении ниже) или из расположений, добавленных в системную переменную PATH (о которой поговорим подробнее далее). При удачном запуске и правильно переданных параметрах команда выполняется.
Отсюда следуют наиболее распространённые причины появления ошибки при выполнении команды:
- Самая распространённая причина — отсутствие исполняемого файла в папке, где запущена командная строка и в папках, содержащихся в PATH.
- Ошибки при написании команды: при ошибке в имени файла, он не будет найден, что и приведёт к указанной ошибке.
- Файл отсутствует где-либо, например, вы пробуете использовать telnet, в то время, когда соответствующий компонент Windows не установлен.
- Редко — запускаемый через командную строку файл действительно не является исполняемой программой: изначально сам по себе или из-за повреждений.
Теперь о том, что делать в рассматриваемой ситуации.
Как исправить ошибку
Для исправления ошибки «Не является внутренней или внешней командой, исполняемой программой или пакетным файлом» в зависимости от ситуации можно использовать следующие подходы.
Переход к папке с исполняемым файлом в командной строке
Если выполнение команды требуется не на регулярной основе, достаточно перейти в командной строке в папку, содержащую нужный файл, делается это следующим образом:
- Например, мы знаем, что python.exe для последней версии Python на момент написания этой статьи располагается в папке
C:Usersимя_пользователяAppDataLocalProgramsPythonPython39
pip.exe — там же во вложенной папке Scripts (если окажется не ясным, как попасть в эту папку, процесс показан в видео ниже), adb.exe — где-то в папке с platform-tools и так далее. Скопируйте этот путь, сделать это можно из адресной строки проводника.
- Если командная строка запущена на том же диске, где находится нужный исполняемый файл, введите команду вида:
cd полный_путь_к_папке_с_исполняемым_файлом
- Если командная строка запущена на диске C:, а исполняемый файл находится на другом диске, то перед 2-м шагом используйте команду вида (здесь D меняем на нужную букву диска) D: с последующим нажатием Enter.
- Введите нужную команду, которая ранее сообщала об ошибке — теперь она должна выполниться успешно.
Добавление папки с программой в системную переменную среды PATH
В случае, когда использование команд требуется регулярно, например, для git, разумным будет добавить папку с этим исполняемым файлом в PATH, чтобы затем в любой момент времени выполнять команды, независимо от того, в какой папке открыта командная строка:
- Введите в поиск на панели задач Windows 10 или Windows 11 «Изменение переменных среды» или нажмите клавиши Win+R, введите sysdm.cpl, нажмите Enter, а в окне свойств системы перейдите на вкладку «Дополнительно».
- Нажмите кнопку «Переменные среды».
- В следующем окне вы можете добавить папку с исполняемым файлом в переменную PATH только для текущего пользователя или для системы в целом. Выбираем Path в нижней панели и нажимаем «Изменить».
- В следующем окне нажимаем «Создать» и вставляем путь к папке с исполняемым файлом, используемом в вашей команде.
- Сохраняем настройки. Также следует перезапустить командную строку.
Готово: если всё было указано верно, теперь вы сможете выполнять соответствующие команды без указания полного пути к исполняемым файлам, а сообщение об ошибке появляться не будет.
Примечание: если ошибка возникает при использовании команд python, обратите внимание, что при первоначальной установке вам предложат добавить необходимые пути в PATH (отметка Add Python to PATH), то же самое часто бывает и при установке других программ:
Установка недостающих компонентов
Иногда проблема возникает из-за того, что нужный файл попросту отсутствует на компьютере:
- Вы пробуете использовать команды telnet, но не зашли в Панель управления —Программы и компоненты — Включение или отключение компонентов Windows и не включили «Клиент Telnet».
- Запускаете команды pyinstaller, но предварительно не установили его командой pip install pyinstaller
- Пробуете использовать команды adb.exe, но не установили необходимые компоненты Android SDK Platform Tools.
Аналогичная ситуация может быть и для многих других, не входящих в стандартную поставку Windows 10 и Windows 11 компонентов, например, java.
Если ошибка возникает при запуске системных инструментов Windows
В ситуации, когда сообщение «Не является внутренней или внешней командой» в командной строке выдается при попытке использовать системные инструменты, такие как sfc /scannow или slmgr:
- Внимательно проверьте правильность написания команды: раскладка, пробелы.
- Убедитесь, что соответствующие файлы есть в системе (обычно — в C:WindowsSystem32). Попробуйте запустить их напрямую из этой папки (перейдя в папку с помощью cd C:WindowsSystem32) и с указанием расширения, для файлов в примере — sfc.exe и slmgr.vbs
- Убедитесь, что в системной переменной среды PATHEXT указаны следующие расширения: .COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH;.MSC
Видео инструкция
Надеюсь, статья и видео помогли разобраться с проблемой и помогли в её решении. Остаются вопросы? — задавайте их в комментариях, я постараюсь ответить.
MsgОтправка сообщения пользователю.
Синтаксис
msg {имя_пользователя|имя_сеанса|код_сеанса|@имя_файла|*} [/server:имя_сервера] [/time:секунды] [/v] [/w] [сообщение]
Параметры
имя_пользователя
Задает имя пользователя, получающего сообщение.
имя_сеанса
Задает имя сеанса, получающего сообщение.
код_сеанса
Идентифицирует сеанс, пользователь которого получит сообщение.
@имя_файла
Идентифицирует файл, содержащий список имен пользователей, имен сеансов, коды сеансов, которые получат сообщение.
*
Отправляет сообщение всем пользователям в системе.
/server:имя_сервера
Задает сервер терминалов, сеансы или пользователи которого получат сообщение. Если сервер не указан, параметр /server использует текущий сервер.
/time:секунды
Задает время, в течение которого отправленное сообщение будет отображаться на экране пользователя. При завершении этого времени, сообщение пропадает с экрана. Если ограничение времени не задано, то сообщение будет находиться на экране пользователя до тех пор, пока он не нажмет кнопку OK.
/v
Отображает сведения о выполненных действиях.
/w
Устанавливает режим ожидания ответа от пользователя, получившего сообщение. Этот параметр рекомендуется использовать совместно с параметром /time:секунды, чтобы избежать длительной паузы в случае, если пользователь не может ответить немедленно. Можно также использовать этот параметр совместно с параметром /v.
Сообщение
Вводится текст отправляемого сообщения. Если текст сообщения не введен, то система либо попросит сделать это, либо будет использовано стандартное сообщение (а именно STDIN). Чтобы отправить сообщение, содержащее файл, введите символ (>) вслед за именем файла.
/?
Отображает справку в командной строке.
Примечания
Если не задано имя пользователя или сеанса, то команда msg выводит на экран сообщение об ошибке. Если задано имя сеанса, то он должен быть активным.
Для отправки сообщения пользователь должен иметь специальное разрешение.
Примеры
Чтобы отправить сообщение с заголовком «Встречаемся сегодня в 13-00» всем сеансам для пользователя MIKES, введите:
msg MIKES Встречаемся сегодня в 13-00
Чтобы отправить тоже самое сообщение сеансу MODEM02, введите:
msg modem02 Встречаемся сегодня в 13-00
Чтобы отправить сообщение сеансу с кодом 12, введите:
msg 12 Встречаемся сегодня в 13-00
Чтобы отправить сообщение всем сеансам, содержащимся в файле USERLIST, введите:
msg @userlist Встречаемся сегодня в 13-00
Чтобы отправить сообщение всем вошедшим пользователям, введите:
msg * Встречаемся сегодня в 13-00
Чтобы отправить сообщение всем пользователям, установив режим ожидания ответа (например 10 секунд), введите:
msg */TIME:10 Встречаемся сегодня в 13-00
msg.exe
is not available on all Windows platforms in all environments.
There is just %SystemRoot%System32msg.exe
(64-bit), but no %SystemRoot%SysWOW64msg.exe
(32-bit) on Windows 7 x64 Enterprise whereby 64-bit msg.exe
must be accessed from within a 32-bit command process by using %SystemRoot%Sysnativemsg.exe
.
For details about System32
, SysWOW64
and Sysnative
see the Microsoft documentation page File System Redirector.
What does this mean?
-
A batch file being executed on 32-bit Windows needs to run
%SystemRoot%System32msg.exe
. -
A batch file being executed on 64-bit Windows by 64-bit
cmd.exe
needs to run%SystemRoot%System32msg.exe
. -
A batch file being executed on 64-bit Windows by 32-bit
cmd.exe
needs to run%SystemRoot%Sysnativemsg.exe
.
It depends on architecture of parent process starting cmd.exe
or the batch file which implicitly results in starting cmd.exe
for execution of the batch file if the batch file is executed in 32-bit or 64-bit environment on 64-bit Windows.
So a batch file is called with using explicitly %SystemRoot%Sysnativecmd.exe
from a 32-bit application on Windows x64 or inside the batch file %SystemRoot%Sysnativemsg.exe
is used on a Windows x64 machine while on a Windows x86 machine %SystemRoot%System32cmd.exe
respectively %SystemRoot%System32msg.exe
must be used.
Demo example for first variant with using 64-bit command line interpreter:
Batch file with name MsgDemo.bat
:
@echo off
%SystemRoot%System32msg.exe /?
pause
is called from 32-bit process running on Windows x64 with:
%SystemRoot%Sysnativecmd.exe /C MsgDemo.bat
Demo example for second variant with referencing msg.exe
correct:
@echo off
set "AppMsg=%SystemRoot%System32msg.exe"
if not "%ProgramFiles(x86)%" == "" (
rem Explicitly reference 64-bit version on Windows x64 as there is
rem no 32-bit version. But use Sysnative redirector only if the batch
rem file was started with 32-bit cmd.exe as otherwise System32 contains
rem msg.exe if it is not missing at all like on Windows 7 Home Premium.
if exist %SystemRoot%Sysnative* set "AppMsg=%SystemRoot%Sysnativemsg.exe"
)
%AppMsg% /?
set "AppMsg="
pause
The redirector %SystemRoot%Sysnative
doesn´t exist for 64-bit processes, just for 32-bit processes.
%SystemRoot%Sysnative
is not a directory. Therefore if exist %SystemRoot%Sysnative
does not work, just if exist %SystemRoot%Sysnative*
.
msg.exe
is not available on all Windows platforms in all environments.
There is just %SystemRoot%System32msg.exe
(64-bit), but no %SystemRoot%SysWOW64msg.exe
(32-bit) on Windows 7 x64 Enterprise whereby 64-bit msg.exe
must be accessed from within a 32-bit command process by using %SystemRoot%Sysnativemsg.exe
.
For details about System32
, SysWOW64
and Sysnative
see the Microsoft documentation page File System Redirector.
What does this mean?
-
A batch file being executed on 32-bit Windows needs to run
%SystemRoot%System32msg.exe
. -
A batch file being executed on 64-bit Windows by 64-bit
cmd.exe
needs to run%SystemRoot%System32msg.exe
. -
A batch file being executed on 64-bit Windows by 32-bit
cmd.exe
needs to run%SystemRoot%Sysnativemsg.exe
.
It depends on architecture of parent process starting cmd.exe
or the batch file which implicitly results in starting cmd.exe
for execution of the batch file if the batch file is executed in 32-bit or 64-bit environment on 64-bit Windows.
So a batch file is called with using explicitly %SystemRoot%Sysnativecmd.exe
from a 32-bit application on Windows x64 or inside the batch file %SystemRoot%Sysnativemsg.exe
is used on a Windows x64 machine while on a Windows x86 machine %SystemRoot%System32cmd.exe
respectively %SystemRoot%System32msg.exe
must be used.
Demo example for first variant with using 64-bit command line interpreter:
Batch file with name MsgDemo.bat
:
@echo off
%SystemRoot%System32msg.exe /?
pause
is called from 32-bit process running on Windows x64 with:
%SystemRoot%Sysnativecmd.exe /C MsgDemo.bat
Demo example for second variant with referencing msg.exe
correct:
@echo off
set "AppMsg=%SystemRoot%System32msg.exe"
if not "%ProgramFiles(x86)%" == "" (
rem Explicitly reference 64-bit version on Windows x64 as there is
rem no 32-bit version. But use Sysnative redirector only if the batch
rem file was started with 32-bit cmd.exe as otherwise System32 contains
rem msg.exe if it is not missing at all like on Windows 7 Home Premium.
if exist %SystemRoot%Sysnative* set "AppMsg=%SystemRoot%Sysnativemsg.exe"
)
%AppMsg% /?
set "AppMsg="
pause
The redirector %SystemRoot%Sysnative
doesn´t exist for 64-bit processes, just for 32-bit processes.
%SystemRoot%Sysnative
is not a directory. Therefore if exist %SystemRoot%Sysnative
does not work, just if exist %SystemRoot%Sysnative*
.
Содержание
- MSG не является внутренней или внешней командой — именно из пакетного файла
- Tweakov.net
- Найди решение компьютерной проблеме
- В командной строке Windows не работают стандартные команды
- Я не могу использовать команду msg в cmd (или пакет, если на то пошло). Как я могу это исправить?
- «Имя файла» не является внутренней или внешней командой, исполняемой программой или пакетным файлом
- Основные причины, по которым появляется ошибка «не является внутренней или внешней командой»
- Указываем правильный путь в переменной path на ОС Windows 7
- Не является внутренней или внешней командой (bat)
Почему команда MSG из под интерпретатора работает нормально (ПУСК -> Выполнить -> CMD), а
из под CMD-файла выдает: «MSG не является внутренней или внешней командой, исполняемой программой или пакетным файлом»?
Какие варианты только не пробовал (с расширенной обработкой и без нее):
Здесь строка № 1 — опционально (пробовал с ней и без нее).
Строки 2,3,4 — альтернативы.
Все работает только при ручном наборе в ком. строке.
P.S. OS Win7 x64 Ultimate ru
Вложения
test.zip (279 байт, 67 просмотров) |
«»msg» не является внутренней или внешней командой, исполняемой программой или пакетным файлом.»
В общем задача , сделать .BAT который при открытии выкинет тебе окно типа «Error» . В котором будет.
Else не является внутренней или внешней командой
Здравствуйте, недавно захотелось создать батник по оптимизации ПК(я в этом деле новичок, не судите.
Не является внутренней или внешней командой
Подскажите, из-за чего возникает проблема с «любая команда bat» не является внутренней или внешней.
Python не является внутренней или внешней командой
Добавил в переменную path путь к питону, точнее к скриптам, но ничего не выходит, кс до сих пор.
Tweakov.net
Найди решение компьютерной проблеме
В командной строке Windows не работают стандартные команды
При попытке запустить какую-либо стандартную команду в интерпретаторе командной строки (cmd.exe) в ОС Windows выдается следующее сообщение:
«hostname» не является внутренней или внешней командой, исполняемой программой или пакетным файлом.
Однако если ввести полный адрес любой из стандартных консольных программ Windows, то они все прекрастно запускаются. Например — C:WINDOWSsystem32hostname.exe .
Получается, что командная строка не ищет нужные программы по пути «%windir%system32″.
Данная проблема скорее всего заключается в системной переменной PATH, она может быть изменена. И для стандартной работы штатных программ надо восстановить в ней начальные значения.
Чтобы исправить эту ошибку, открываем «Панель управления» — «Система», переходим на вкладку «Дополнительно», там нажимаем кнопку «Переменные среды». В открывшемся окне в разделе «Системные переменные» находим переменную «Path».
Затем либо двойным щелчком мыши вызываем окно «Изменение системной переменной», либо выделяем эту переменную и нажимаем на кнопку «Изменить», находящуюся под ней. Значение переменной должно быть следующим:
Если выглядит не так, изменяем.
Также здесь вы можете прописать и другие пути, откуда хотите по умолчанию запускать те или иные команды. Новая директория пишется в той же строке и отделяется от предыдущей знаком «;» без пробелов.
После редактирования переменной в трех окнах нажимаем «OK» и радуемся нормальному запуску стандартных консольных приложений.
Я не могу использовать команду msg в cmd (или пакет, если на то пошло). Как я могу это исправить?
Пока в cmd или создании командного файла я не могу использовать команду msg . Когда я пытаюсь использовать его, он возвращает ошибку msg is not recognized as an internal or external command, operable program or batch file . “Я уверен, что ошибка в том, что я потерял msg.exe в system32, так что может кто-нибудь показать, как это получить? Я запускаю Windows 8.1.
msg.exe не доступен на всех платформах Windows во всех средах.
Существует только %SystemRoot%System32msg.exe (64-разрядная %SystemRoot%SysWOW64msg.exe ), но нет %SystemRoot%SysWOW64msg.exe (32-разрядная версия) для Windows 7 x64 Enterprise, из-за чего необходимо получить доступ к 64-разрядному msg.exe из в 32-битном командном процессе, используя %SystemRoot%Sysnativemsg.exe .
Дополнительные сведения о System32 , SysWOW64 и Sysnative см. В статье Microsoft о Sysnative файловой системы
Для запуска пакетного файла на 32-разрядной Windows необходимо запустить %SystemRoot%System32msg.exe .
Командный файл, выполняемый в 64-разрядной Windows 64-разрядным cmd.exe должен запускать %SystemRoot%System32msg.exe .
Командный файл, выполняемый в 64-разрядной Windows 32-разрядным cmd.exe должен запускать %SystemRoot%Sysnativemsg.exe .
Это зависит от ширины битов родительского процесса, начиная с cmd.exe или командного файла, который неявно приводит к запуску cmd.exe для исполнения командного файла, если пакетный файл выполняется в 32-разрядной или 64-разрядной среде на 64-битной Windows,
Таким образом вызывается пакетный файл с использованием явно %SystemRoot%Sysnativecmd.exe из 32-разрядного приложения в Windows x64 или внутри пакетного файла %SystemRoot%Sysnativemsg.exe используется на машине Windows x64 во время работы необходимо использовать Windows x86 %SystemRoot%System32cmd.exe %SystemRoot%System32msg.exe .
Демо-пример для первого варианта с использованием 64-разрядного интерпретатора командной строки:
Пакетный файл с именем MsgDemo.bat :
вызывается из 32-разрядного процесса, выполняющегося в Windows x64, с:
Демо-пример для второго варианта с правильной ссылкой msg.exe :
Редиректор %SystemRoot%Sysnative не существует для 64-битных процессов, только для 32-битных процессов.
%SystemRoot%Sysnative не является каталогом. Поэтому, if exist %SystemRoot%Sysnative не работает, просто if exist %SystemRoot%Sysnative* .
«Имя файла» не является внутренней или внешней командой, исполняемой программой или пакетным файлом
При попытке открыть какую-либо команду через окно служебной программы или консоль, вы сталкиваетесь с ошибкой – «Имя файла» не является внутренней или внешней командой, исполняемой программой или пакетным файлом. Система упрямо не открывает файл по каким-то причинам и этот факт очень раздражает. Причиной этого может быть один из нескольких вариантов: неправильно указан путь к файлу и отсутствие компонента в системе вообще, т.е по указанному адресу его не существует.
Основные причины, по которым появляется ошибка «не является внутренней или внешней командой»
Как уже было сказано, одна из причин заключается в неправильном указании пути к открываемому файлу. Обычно путь к файлу прописан в переменной «Path» в системе, должен быть указан строгий путь к директории, в котором размещены нужные файлы. Если имеются какие-то ошибки в настройках при указании пути в переменной, либо при указании имени файла, то система будет выдавать именно такую ошибку – «имя файла» не является внутренней или внешней командой, исполняемой программой.
Первым делом необходимо указать точный путь переменной «Path» операционной системе, чтобы не возникало ошибок при открытии файла. Для этого нужно наверняка знать расположение папки. К примеру, обратимся к программе, которая в дальнейшем будет работать с исполняемым файлом в определенной папке.
Переменная «Path» — это переменная операционной системы, которая служит для того, чтобы найти указанные исполняемые объекты через командную строку или терминал. Найти ее можно в панели управления Windows. В новых версиях Виндовс и других ОС указание вручную обычно не требуется.
Указываем правильный путь в переменной path на ОС Windows 7
Чтобы правильно указать путь необходимо знать точное расположение файла. Если файл программы, который нужно открыть лежит на диске в С:Program FilesJavajdk 1.8.0.45bin, тогда этот путь нужно скопировать и указать в системной переменной для последующего открытия.
- Далее нам понадобиться рабочий стол, наводим мышь на «Мой компьютер» и в контекстном меню выбираем «Свойства».
- Нажимаем «Дополнительные параметры» слева и выбираем пункт «Переменные среды».
- В открывшемся окне ищем строку «Path» нажимаем на нее и вставляем скопированные путь сюда.
- Действие нужно подтвердить кнопкой «Ок». Компьютер желательно перезагрузить, чтобы настройки точно вступили в силу. Откройте консоль и вбейте нужную команду. Ошибки быть не должно.
В том случае, если ошибка будет появляться снова, попробуйте перенести программу в рабочие директории диска с установленной операционной системой, например /System32. С этой директорией Виндовс работает чаще.
Также ошибки возникают из-за отсутствия компонентов программы. Устранить их можно дополнив нужными. Для примера возьмем компонент «Telnet». Чтобы его включить, перейдите:
- На «Панель управления».
- Дальше выберите «Включение и выключение компонентов».
- Из списка выбираем «Клиент Telnet», напротив ставим галочку и нажимаем «Ок».
- Компонент должен работать и ошибок возникать больше не должно.
Поставьте галочку рядом с компонентом Windows Telnet
Не является внутренней или внешней командой (bat)
Else не является внутренней или внешней командой
Здравствуйте, недавно захотелось создать батник по оптимизации ПК(я в этом деле новичок, не судите.
Не является внутренней или внешней командой
Подскажите, из-за чего возникает проблема с «любая команда bat» не является внутренней или внешней.
MSG не является внутренней или внешней командой — именно из пакетного файла
Голову сломил. Почему команда MSG из под интерпретатора работает нормально (ПУСК -> Выполнить ->.
Ошибка в паттерне sed. png не является внутренней или внешней командой, исполняемой программой или пакентным файлом
Здравствуйте. Использую cygwin, поэтому могу использовать sed. Не знаю, правильный ли это.
Это скрипт игры «симулятор хакера»
Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь или здесь.
Сообщение об ошибке «. не является внутренней или внешней командой. » при вызове javac и preverify
Ошибка, вроде типичная, пишет, что эти команды не являются внутренней или внешней командой и т.д.
«»net» не является внутренней или внешней командой, исполняемой программой или пакетным файлом.»
Всем привет. Прежде чем задать вопрос поискал в инете и на форумах..но не смог найти ответ. .
«»rar» не является внутренней или внешней командой, исполняемой программой или пакетным файлом.»
Когда ставил эту винду(ХР), пришлось пару файлов пропустить, диск был немного покоцаный, может быть.
«»msg» не является внутренней или внешней командой, исполняемой программой или пакетным файлом.»
В общем задача , сделать .BAT который при открытии выкинет тебе окно типа «Error» . В котором будет.
«»cp» не является внутренней или внешней командой, исполняемой программой или пакетным файлом.»
Не могу использовать некоторые команды в консоли. Такие команды как dir или cls работают, а вот.
«»я╗┐del» не является внутренней или внешней командой, исполняемой программой или пакетным файлом.»
Добрый день, всем. Есть бат файл который запускается с помощью VS2010 del svn.cpp del.
Не является внутренней или внешней командой, исполняемой программой или пакетным файлом — как исправить?
При выполнении команд в командной строке Windows 10 и Windows 11 вы можете получить сообщение об ошибке, где указано первое «слово» вашей команды — adb.exe, pip или python, npm или git, java, telnet или любое другое, а далее — не является внутренней или внешней командой, исполняемой программой или пакетным файлом.
В этой инструкции подробно о том, что означает такое сообщение, почему появляется и как исправить ошибку при выполнении наиболее распространённых команд в командной строке.
- Причины ошибки
- Способы исправить ошибку Не является внутренней или внешней командой
- Видео инструкция
Причины ошибки «Не является внутренней или внешней командой» при выполнении команд в командной строке Windows 10 и Windows 11
Для того, чтобы понять суть ошибки, давайте рассмотрим, что происходит при выполнении команды в командной строке, в качестве примера будем использовать такой код:
команда параметр1 параметр2
- В случае, если «команда» является собственной встроенной командой консоли (в качестве примера — cls), она выполняется с заданными параметрами.
- Если «команда» — это какой-то файл .exe, .cmd, .bat или иной, например, pip, python или adb, выполняется попытка его запуска из расположения, где запущена командная строка (выделено на изображении ниже) или из расположений, добавленных в системную переменную PATH (о которой поговорим подробнее далее). При удачном запуске и правильно переданных параметрах команда выполняется.
Отсюда следуют наиболее распространённые причины появления ошибки при выполнении команды:
- Самая распространённая причина — отсутствие исполняемого файла в папке, где запущена командная строка и в папках, содержащихся в PATH.
- Ошибки при написании команды: при ошибке в имени файла, он не будет найден, что и приведёт к указанной ошибке.
- Файл отсутствует где-либо, например, вы пробуете использовать telnet, в то время, когда соответствующий компонент Windows не установлен.
- Редко — запускаемый через командную строку файл действительно не является исполняемой программой: изначально сам по себе или из-за повреждений.
Теперь о том, что делать в рассматриваемой ситуации.
Как исправить ошибку
Для исправления ошибки «Не является внутренней или внешней командой, исполняемой программой или пакетным файлом» в зависимости от ситуации можно использовать следующие подходы.
Переход к папке с исполняемым файлом в командной строке
Если выполнение команды требуется не на регулярной основе, достаточно перейти в командной строке в папку, содержащую нужный файл, делается это следующим образом:
- Например, мы знаем, что python.exe для последней версии Python на момент написания этой статьи располагается в папке
C:Usersимя_пользователяAppDataLocalProgramsPythonPython39
pip.exe — там же во вложенной папке Scripts (если окажется не ясным, как попасть в эту папку, процесс показан в видео ниже), adb.exe — где-то в папке с platform-tools и так далее. Скопируйте этот путь, сделать это можно из адресной строки проводника.
- Если командная строка запущена на том же диске, где находится нужный исполняемый файл, введите команду вида:
cd полный_путь_к_папке_с_исполняемым_файлом
- Если командная строка запущена на диске C:, а исполняемый файл находится на другом диске, то перед 2-м шагом используйте команду вида (здесь D меняем на нужную букву диска) D: с последующим нажатием Enter.
- Введите нужную команду, которая ранее сообщала об ошибке — теперь она должна выполниться успешно.
Добавление папки с программой в системную переменную среды PATH
В случае, когда использование команд требуется регулярно, например, для git, разумным будет добавить папку с этим исполняемым файлом в PATH, чтобы затем в любой момент времени выполнять команды, независимо от того, в какой папке открыта командная строка:
- Введите в поиск на панели задач Windows 10 или Windows 11 «Изменение переменных среды» или нажмите клавиши Win+R, введите sysdm.cpl, нажмите Enter, а в окне свойств системы перейдите на вкладку «Дополнительно».
- Нажмите кнопку «Переменные среды».
- В следующем окне вы можете добавить папку с исполняемым файлом в переменную PATH только для текущего пользователя или для системы в целом. Выбираем Path в нижней панели и нажимаем «Изменить».
- В следующем окне нажимаем «Создать» и вставляем путь к папке с исполняемым файлом, используемом в вашей команде.
- Сохраняем настройки. Также следует перезапустить командную строку.
Готово: если всё было указано верно, теперь вы сможете выполнять соответствующие команды без указания полного пути к исполняемым файлам, а сообщение об ошибке появляться не будет.
Примечание: если ошибка возникает при использовании команд python, обратите внимание, что при первоначальной установке вам предложат добавить необходимые пути в PATH (отметка Add Python to PATH), то же самое часто бывает и при установке других программ:
Установка недостающих компонентов
Иногда проблема возникает из-за того, что нужный файл попросту отсутствует на компьютере:
- Вы пробуете использовать команды telnet, но не зашли в Панель управления —Программы и компоненты — Включение или отключение компонентов Windows и не включили «Клиент Telnet».
- Запускаете команды pyinstaller, но предварительно не установили его командой pip install pyinstaller
- Пробуете использовать команды adb.exe, но не установили необходимые компоненты Android SDK Platform Tools.
Аналогичная ситуация может быть и для многих других, не входящих в стандартную поставку Windows 10 и Windows 11 компонентов, например, java.
Если ошибка возникает при запуске системных инструментов Windows
В ситуации, когда сообщение «Не является внутренней или внешней командой» в командной строке выдается при попытке использовать системные инструменты, такие как sfc /scannow или slmgr:
- Внимательно проверьте правильность написания команды: раскладка, пробелы.
- Убедитесь, что соответствующие файлы есть в системе (обычно — в C:WindowsSystem32). Попробуйте запустить их напрямую из этой папки (перейдя в папку с помощью cd C:WindowsSystem32) и с указанием расширения, для файлов в примере — sfc.exe и slmgr.vbs
- Убедитесь, что в системной переменной среды PATHEXT указаны следующие расширения: .COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH;.MSC
Видео инструкция
Надеюсь, статья и видео помогли разобраться с проблемой и помогли в её решении. Остаются вопросы? — задавайте их в комментариях, я постараюсь ответить.
«Имя файла» не является внутренней или внешней командой, исполняемой программой или пакетным файлом
При попытке открыть какую-либо команду через окно служебной программы или консоль, вы сталкиваетесь с ошибкой – «Имя файла» не является внутренней или внешней командой, исполняемой программой или пакетным файлом. Система упрямо не открывает файл по каким-то причинам и этот факт очень раздражает. Причиной этого может быть один из нескольких вариантов: неправильно указан путь к файлу и отсутствие компонента в системе вообще, т.е по указанному адресу его не существует.
Содержание
- Основные причины, по которым появляется ошибка «не является внутренней или внешней командой»
- Указываем правильный путь в переменной path на ОС Windows 7
- Задать переменную «Path» в ОС Windows 8/8.1/10
Основные причины, по которым появляется ошибка «не является внутренней или внешней командой»
Как уже было сказано, одна из причин заключается в неправильном указании пути к открываемому файлу. Обычно путь к файлу прописан в переменной «Path» в системе, должен быть указан строгий путь к директории, в котором размещены нужные файлы. Если имеются какие-то ошибки в настройках при указании пути в переменной, либо при указании имени файла, то система будет выдавать именно такую ошибку – «имя файла» не является внутренней или внешней командой, исполняемой программой.
Первым делом необходимо указать точный путь переменной «Path» операционной системе, чтобы не возникало ошибок при открытии файла. Для этого нужно наверняка знать расположение папки. К примеру, обратимся к программе, которая в дальнейшем будет работать с исполняемым файлом в определенной папке.
Переменная «Path» — это переменная операционной системы, которая служит для того, чтобы найти указанные исполняемые объекты через командную строку или терминал. Найти ее можно в панели управления Windows. В новых версиях Виндовс и других ОС указание вручную обычно не требуется.
Указываем правильный путь в переменной path на ОС Windows 7
Чтобы правильно указать путь необходимо знать точное расположение файла. Если файл программы, который нужно открыть лежит на диске в С:\Program Files\Java\jdk 1.8.0.45\bin, тогда этот путь нужно скопировать и указать в системной переменной для последующего открытия.
- Далее нам понадобиться рабочий стол, наводим мышь на «Мой компьютер» и в контекстном меню выбираем «Свойства».
- Нажимаем «Дополнительные параметры» слева и выбираем пункт «Переменные среды».
- В открывшемся окне ищем строку «Path» нажимаем на нее и вставляем скопированные путь сюда.
- Действие нужно подтвердить кнопкой «Ок». Компьютер желательно перезагрузить, чтобы настройки точно вступили в силу. Откройте консоль и вбейте нужную команду. Ошибки быть не должно.
В том случае, если ошибка будет появляться снова, попробуйте перенести программу в рабочие директории диска с установленной операционной системой, например /System32. С этой директорией Виндовс работает чаще.
Также ошибки возникают из-за отсутствия компонентов программы. Устранить их можно дополнив нужными. Для примера возьмем компонент «Telnet». Чтобы его включить, перейдите:
- На «Панель управления».
- Дальше выберите «Включение и выключение компонентов».
- Из списка выбираем «Клиент Telnet», напротив ставим галочку и нажимаем «Ок».
- Компонент должен работать и ошибок возникать больше не должно.
Поставьте галочку рядом с компонентом Windows Telnet
Задать переменную «Path» в ОС Windows 8/8.1/10
- Заходим на «Панель управления».
- Кликаем ссылку «Дополнительные параметры системы».
- Находим «Переменные среды». В этом разделе нужно выбрать «Path». Далее «Изменить», если нет готовой – создать заново.
- В пункте «Изменение системной переменной» укажите нужное вам значение и подтвердите кнопкой «Ок». Закрываем и все остальные окна, кликая «Ок».
- Откройте заново командную строку или терминал и попробуйте снова ввести ваш запрос. Сейчас должно все работать исправно.
Опубликовано Обновлено