Не является внутренней или внешней командой, исполняемой программой или пакетным файлом — как исправить?
При выполнении команд в командной строке Windows 10 и Windows 11 вы можете получить сообщение об ошибке, где указано первое «слово» вашей команды — adb.exe, pip или python, npm или git, java, telnet или любое другое, а далее — не является внутренней или внешней командой, исполняемой программой или пакетным файлом.
В этой инструкции подробно о том, что означает такое сообщение, почему появляется и как исправить ошибку при выполнении наиболее распространённых команд в командной строке.
Причины ошибки
Для того, чтобы понять суть ошибки, давайте рассмотрим, что происходит при выполнении команды в командной строке, в качестве примера будем использовать такой код:
команда параметр1 параметр2
- В случае, если «команда» является собственной встроенной командой консоли (в качестве примера — cls), она выполняется с заданными параметрами.
- Если «команда» — это какой-то файл .exe, .cmd, .bat или иной, например, pip, python или adb, выполняется попытка его запуска из расположения, где запущена командная строка (выделено на изображении ниже) или из расположений, добавленных в системную переменную PATH (о которой поговорим подробнее далее). При удачном запуске и правильно переданных параметрах команда выполняется.
Отсюда следуют наиболее распространённые причины появления ошибки при выполнении команды:
- Самая распространённая причина — отсутствие исполняемого файла в папке, где запущена командная строка и в папках, содержащихся в PATH.
- Ошибки при написании команды: при ошибке в имени файла, он не будет найден, что и приведёт к указанной ошибке.
- Файл отсутствует где-либо, например, вы пробуете использовать telnet, в то время, когда соответствующий компонент Windows не установлен.
- Отключен псевдоним исполняемого приложения, при условии что выполняется команда приложения, установленного из Microsoft Store.
- Редко — запускаемый через командную строку файл действительно не является исполняемой программой: изначально сам по себе или из-за повреждений.
Теперь о том, что делать в рассматриваемой ситуации.
Как исправить ошибку
Для исправления ошибки «Не является внутренней или внешней командой, исполняемой программой или пакетным файлом» в зависимости от ситуации можно использовать следующие подходы.
Переход к папке с исполняемым файлом в командной строке
Если выполнение команды требуется не на регулярной основе, достаточно перейти в командной строке в папку, содержащую нужный файл, делается это следующим образом:
- Например, мы знаем, что 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), то же самое часто бывает и при установке других программ:
Псевдонимы выполнения приложений
Для некоторых приложений, которые устанавливаются из Microsoft Store и встроенных приложений Windows используются псевдонимы выполнения. Если псевдоним отключён или работает неправильно из-за удалённой записи в переменной среды Path пользователя, вы получите рассматриваемое сообщение об ошибке — «не является внутренней или внешней командой, исполняемой программой или пакетным файлом». Выполните следующие действия:
- Перейдите в Параметры — Приложения — Дополнительные параметры приложений — Псевдонимы выполнения приложений. Если в списке присутствует запускаемое вами приложение (например, python.exe или python3.exe), убедитесь, что псевдоним для него включен.
- Проверьте, чтобы в переменной среды Path пользователя присутствовал путь
%USERPROFILE%\AppData\Local\Microsoft\WindowsApps
или
C:\Users\Имя_пользователя\AppData\Local\Microsoft\WindowsApps
без этого псевдонимы работать не будут.
Сами по себе псевдонимы необходимы для того, чтобы была возможность использовать команды приложений из папки WindowsApps в командной строке или диалоговом окне «Выполнить».
Установка недостающих компонентов
Иногда проблема возникает из-за того, что нужный файл попросту отсутствует на компьютере:
- Вы пробуете использовать команды 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
Надеюсь, статья помогла разобраться с проблемой и помогли в её решении. Остаются вопросы? — задавайте их в комментариях, я постараюсь ответить.
-
Home
-
News
- Fix “Not Recognized As an Internal or External Command” Win 10
By Alisa |
Last Updated
If a command is not recognized as an internal or external command, it may be due to the messed up environment variables. Check how to fix this error in this post. To help you tackle data loss, manage hard drive partitions, backup and restore system, MiniTool software provides professional tools.
If you meet the error “command is not recognized as an internal or external command, operable program or batch file” problem in Command Prompt in Windows 10, the reason may be that the Windows Environment Variables are messed up. Check what Windows Environment Variables are and how to fix this error below.
Windows Environment Variables
Windows OS has a list of path to record the locations of most common system applications. When you use the Run prompt or CMD.exe to open a program, it can launch easily. This list is called Windows Environment Variables.
Your operating system uses the PATH system variable to locate needed executables from the Command Prompt or Terminal application.
If the Windows Environment Variables are messed up, it may cause some programs not working like Command Prompt not working.
You can learn how to fix not recognized as an internal or external command error in Windows 10 when you try to execute a command or open a system program in Command Prompt.
How to Fix Not Recognized As an Internal or External Command
Step 1. Go to C:\Windows\System32\ to check if the program actually exists. You can search and find the target exe file in System32 folder. If the program exists, then you can continue to modify the Windows Environment Variables to fix Command Prompt not recognizing commands errors.
Step 2. You can right-click This PC icon and select Properties. Click Advanced system settings to open System Properties window. After that, click Advanced tab and click Environment Variables.
Step 3. Then you can click Path under System variables, and click Edit button. Before you edit the PATH system variable, it’s advised you copy and paste the old environment variables to a text file to make a backup. In case something goes wrong, you can easily revert them.
Step 4. Check if there is a directory path of the executable file location, if not, enter the location of the executable file’s parent folder. After you edit the value, you can click OK.
Step 5. Then you can reboot your computer and execute the command again to see if the “not recognized as an internal or external command” problem is fixed in your Windows 10 computer.
How to Recover Deleted/Lost EXE Files in Windows 10
If some exe files are automatically or mistakenly deleted or unexpectedly lost in your Windows 10 computer, you can use MiniTool Power Data Recovery to easily recover exe files.
MiniTool Power Data Recovery is a professional easy-to-use data recovery program for Windows 10. You can use it to recover any deleted/lost files (incl. application exe files) from Windows 10 computer with ease. Still, this best data recovery software also allows you to recover deleted/lost files from external hard drive, USB flash drive, pen drive, thumb drive, SD card, and more. The free edition allows you to recover up to 1GB data totally for free. 100% clean and safe software, and extremely intuitive interface.
About The Author
Position: Columnist
Alisa is a professional English editor with 4-year experience. She loves writing and focuses on sharing detailed solutions and thoughts for computer problems, data recovery & backup, digital gadgets, tech news, etc. Through her articles, users can always easily get related problems solved and find what they want. In spare time, she likes basketball, badminton, tennis, cycling, running, and singing. She is very funny and energetic in life, and always brings friends lots of laughs.
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
The Command Prompt lets you run a variety of executable files and get complex tasks done in a jiffy. Through it, anyone with an administrator’s account can access and change settings that otherwise wouldn’t be possible.
But this command interpreter has a specific language that one must know how to read and write. Even the smallest mistake can render the command useless and generate error messages. One of the most common ones being the “not recognized as an internal or external command…” error.
So, what exactly causes this “not recognized as an internal or external command” error and how can one fix it? We’ll explain.
Related: Common Windows 10 2004 issues and available fixes: Detailed list
What does the “is not recognized as an internal or external command” mean?
This error message could basically mean one of two things:
- The filename of the executable was entered without extension and without the whole path.
- Windows didn’t find the executable that matched the filename, including its extension, in any directory mentioned in Environment Variables “Path”.
The error occurs, as the message itself suggests, when the Command Prompt program cannot recognize the file or program that you wanted to use or execute. But there can be other problems too.
1. Executable or script not installed
It is possible that the program that you want to execute via command prompt isn’t installed properly on your system. A corrupt installer is the most common cause for this. Either that or the installed executable file is not located in the directory where the command interface is looking for it.
2. Filename and path not specified correctly
The most common cause of the error is a typing mistake while entering the command. Moreover, if you haven’t specified the path properly, the command prompt wouldn’t know where to look for the file and thus, render the error.
If you’re getting the error, it is important to check your command character by character to ensure it is specified correctly.
3. File Directory not found in Windows Environment Variables
Another possibility is that the directory of the file that you’re trying to execute doesn’t exist in Windows Environment Variables. The series of directories known as “Path” resides under System Variables in Windows Environment Variables, and is required for the commands to be executed. That is where your file directory must be as well, especially if you’re not specifying the complete path of your file in the command prompt.
But some programs, viruses, and malware can change these environment variables. If this happens, then the command Prompt wouldn’t be able to recognize the commands or execute them.
4. Executables in system32 not found on 64-bit Windows
For those using 64-bit Windows, there can be another potential cause of the error.
Windows 64-bit programs have “C:\Windows\System32” as their directory, while 32-bit programs have “C:\Windows\SysWOW64” as their directory.
Although most of the executables are found in both of these directories, there are some that exist only in System32, and only a handful in SysWOW64.
By default, the Windows Environment Variables “Path” contains the folder C:\Windows\System32. That means when running in a 64-bit environment, the command prompt is looking for the path directory in C:\Windows\System32. Therefore if you want to run 32-bit programs, you have to execute them in a 32-bit environment.
6 ways to fix the “is not recognized as an internal or external command” error
Fixing the “not recognized as an internal or external command” error mainly has to do with correcting the problems mentioned above. With that in mind, let us look at the fixes one at a time.
Method 1: Check if the Program is installed
First and foremost, ensure that the program that you’re trying to execute through Command Prompt is actually installed on your system and is at the appropriate location.
Here is how you can do so:
- Press
Win+I
to open the Settings app, select Apps on the left, and Installed Apps on the right. - Scroll through and check the list for the app.
- Alternatively, press
Win+E
to open the File Explorer and navigate toC:\Windows\System32
. This directory contains all your applications’ system files. Scroll through and check if your program is available here (use the search box to look for your program faster).
Note: If it’s not, the application is not installed in this folder and you most likely can’t execute the application by simply typing in its file name. This matter can be addressed by the following.
Method 2: Move the file to the System32 Folder
When you’re trying to run a program or an executable file from Command Prompt, the latter searches through the System32 folder and runs the file. But if the file is not there, as can be the case with some programs, you can move it to the System32 folder. Here’s how you can do so.
Note: You will need to be logged in to an administrative account for the following.
- Open your program’s location and copy all the files that are in the folder (select all the files and press
Ctrl+C
for this). In our example, we want to run Microsoft Edge (msedge.exe) through the command prompt and copy all the files present in the application’s folder. - Then paste the files (
Ctrl+V
) in theC:\Windows\System32
folder. - Now, if you enter the name of the executable file, your command will run without errors.
Method 3: Provide the full path of the file
The Command Prompt doesn’t know where the file is located. So if you don’t want to copy the files to the System32 folder, you will have to specify the exact location of the executable that you want to run.
- Go to the folder where your file is installed and take note of the full path of the file. Copy this path as given in the address bar if you wish.
- Then paste or type the full path in the command prompt and press Enter.
Note: This method works only if there are no spaces in your command. If there is a space somewhere in your file’s path, then you have to do the following.
Method 4: Insert the whole file path within double quotes
In the command prompt, a “space” is read as the end of the command. Anything entered after a space entered through the “space” or “tab” key will be read as an argument. So, if there are spaces in your file path’s location, ensure that you enclose the path within double quotes.
- Open the file location of your app and note the full path as given in the address bar.
- Alternatively, open the folder with the executable file of your program, right-click, and select Copy as path.
- Insert the whole file path in the command prompt and book-end them with double quotation marks or paste the path copied (in step 3). You should see the double quotation marks applied automatically.
Method 5: Change Environment Variables
Windows Environment Variables is the list of paths to common system applications that the Command Prompt uses to execute programs swiftly. If these environment variables are altered, the command interface won’t be able to find the location of the executable and render the error.
A simple way to fix this is by editing the environment variables and adding the appropriate file path there. Doing so will also allow you to run the executable by entering just the name of the file. This is how you can do so:
- Press Start, search for ‘Environment Variables’, and select Edit the system environment variables.
- Click on Environment Variables.
- This will open up the “Environment Variables” window. Here, under “System variables” click to select the Variable that says Path, and then click on Edit.
- Now, to add a new variable value (file location), click on New.
- Here, add the folder path to the program/application you want to run through Command Prompt. Do this by simply going to where your application is installed and copying the path.
- Then paste it into the environment variable window.
- Alternatively, click on Browse.
- Then navigate to the folder, select it, and click on OK.
- Once you have added this new environment variable for the Command Prompt to access, click OK on all open windows.
If you now open Command Prompt and simply enter the name of the executable file, your application will open promptly.
Method 6: Change directory to SysWOW64
As mentioned earlier, there are some 32-bit programs that only work in a 32-bit environment. And since the directory for these is C:\Windows\SysWOW64
, you will have to tell the command prompt to look for it here, and not in the usual system32. Here’s how to do so:
- Open the command prompt and type
cd C:\Windows\SysWOW64
. - Hit Enter. Your directory will change and the command prompt will now look for your 32-bit executable here.
Fix: Python is not recognized as an internal or external command
If you’re getting the same error when running Python through the command prompt, it is highly likely that Python’s executable file is missing from the environment variables. Here’s how to fix it:
- Find Python’s installation folder, which is generally
C:\Users\(username)\AppData\Local\Program\Python\Python(version)
- Add it to the “Path” variable in Environment Variables (as shown in Method #05 of the previous fix).
You will be able to run Python from the command prompt.
Fix: Python command opening Microsoft Store
Sometimes, running “python.exe” in the command prompt will redirect you to the Microsoft Store. This is because Microsft embeds a couple of ‘fake’ executables in the folder and puts their app executable aliases in the On position. Here’s how to fix it:
- Press Start, type Manage app execution aliases, and select it.
- Toggle off Python.exe and Python3.exe.
You should be able to run python.exe from the command prompt now without being redirected to where you don’t want to go.
Android Studio: is not recognized as an internal or external command
Android Studio has its own terminal command for executing commands and the same error is encountered here when trying to run the ‘adb’ command. The cause of the problem here tends to be the incorrect path to the adb folder. But it can be solved with ease if you know where the adb.exe file is located.
- Open Android Studio and click on File.
- Select Settings.
- Under ‘Tools’, click on Terminal.
- In the ‘Start directory’, enter the complete location to adb –
C:\Users\(username)\AppData\Local\Android\Sdk\platform-tools
- Restart Android Studio.
- Alternatively, you can change the directory in Android Studio’s terminal itself. Simply type in the command
cd C:\Users\(username)\AppData\Local\Android\Sdk\platform-tools
Now, you should be able to run adb from Android Studio’s terminal command.
CMD: Fastboot or ADB is not recognized as an internal or external command
Lastly, if you have downloaded Fastboot and are not able to execute the adb command from cmd, then it means you have to set the path to ADB in System Variables (in Environment Variables).
- Search for ‘System Variables’ in Start and select Edit the system environment variables.
- In the ‘System Properties’ window, click on Environment Variables.
- Select Path under ‘System variables’ and click on Edit.
- Click New.
- Enter the full path to where the platform-tools folder is located (which contains adb.exe).
- Click OK.
- Restart the command prompt and you should be able to execute the adb command.
Entering the right commands in the interface and ensuring that the latter has access to the executable file is all that it takes for the command prompt to run the program/file/application that you have told it to. So make sure you follow the fixes mentioned above and run your commands without any more errors.
RELATED
- How to solve Microsoft OneDrive “cannot connect to Windows” error on Windows 10 version 2004
- How to fix DISM ‘incorrectly reporting corruption’ error on Windows 10 version 2004
- How to fix the issue: This site can’t be reached. Server IP address could not be found.
- How to Fix “ERROR: x86_64 emulation currently requires hardware acceleration” on Windows
Содержание
- 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