How do I fix not recognized as an internal or external command operable program or batch file?
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:
“Is not recognized as an internal or external command” error causes:
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 #01: 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. You can check if the program is actually installed on your PC in a couple of different ways.
One way is to check the list of “Apps & Features” from Windows Settings. Here is how you can do so:
Press Win+I to open Settings and select Apps.
With Apps & features selected in the left pane, you will see the list of programs in the right pane.
If the program is not displayed here, open up File Explorer (Win+E) and navigate to the following folder:
This directory contains all your applications’ system files. Scroll through and check if the program you’re trying to run is available (with its executable file). 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 #02: 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.
First up, go to 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 are copying all the files present in the application’s folder.
And pasting the files (Ctrl+V) in the C:\Windows\System32 folder.
Now, if you just enter the name of the executable file, your command will run without errors.
Method #03: Provide the full path of the file
Another important thing to keep in mind while typing the command is that the Command Prompt doesn’t know where the file is located. 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.
For instance, if you’re trying to execute PowerToys.exe located in the PowerToys folder in C drive, the command might look like this:C:\PowerToys\PowerToys.exe
This method works only if there are no spaces in your command. But if there is a space somewhere in your file’s path, then you have to do the following.
Method #04: Insert the whole file path within double quotes
The “not recognized as an internal or external command” error can also be the result of improper use of the command lines, especially when inserting file paths.
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.
In our example below, we have to run the steamservice.exe file which is within the folder C:\Program Files (x86)\Common Files\Steam. So, to ensure that the space in the ‘Common Files’ folder is not read as the end of the command, we will insert the whole file path within double-quotes. Like this:"C:\Program Files (x86)\Common Files\Steam\steamservice.exe"
Method #05: 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 Win+R to open the RUN box and search for “Control Panel”.
Click on System and Security.
Click on System.
In the left sidebar, click on Advanced system settings.
In the “System properties” window, click on Environment Variables at the bottom.
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.
You can either do this by simply going to where your application (chrome.exe in our example) is installed and copying the path…
… and pasting it in the environment variable window;
Or through the environment variable window itself. For this, 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 #06: 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.
To do so, simply type in the following command:cd c:\windows\SysWOW64
Doing this will change the directory in which the command prompt looks for your 32-bit executable.
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.
To fix this issue, all one needs to do is to find where Python is installed and add the path of the executable Python file to the “Path” variable in Environment Variables (as shown before).
You will be able to run Python from the command prompt.
Fix: Python command opening Microsoft Store
On Windows 10, many have also found that sometimes, after adding Python’s path to the environment variables and running “python.exe” in the command prompt, a new problem comes up. Instead of opening python.exe directly, they are taken 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. To fix this, simply search for and open “Manage app execution aliases” from the Start Menu. Then turn 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.
By default, the adb is located in the following folder:C:\Users\(username)\AppData\Local\Android\Sdk\platform-tools
So, all one needs to do is to open Android Studio, click on File>Settings. In the next window, under Tools, click on Terminal. Then enter the complete location to adb in the Start Directory.
Restart Android Studio and your adb command should execute now.
Alternatively, you can change the directory in Android Studio’s terminal itself. Simply type in the following 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).
Open Windows Environment Variables (as shown earlier), under “System Variables”, select Path and click “Edit”. Then add the full path to where the platform-tools folder is located (which contains adb.exe). Apply the changes.
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 commanded it to. So make sure you follow the fixes mentioned herein and run your commands without any more errors.