Windows command not recognized as an internal or external command
How to Fix “not recognized as an internal or external command” in Windows
Due to messed up environmental variables
One of the great things about Windows is that you can get many of your tasks done from the Command Prompt on your machine. You just need to enter cmd.exe and Windows will run it for you. But occasionally, you might come across errors like “is not recognized as an internal command”.
This is actually one of the most common errors you can face with the Command Prompt. As the error itself suggests, it couldn’t recognize the tool you were trying to use with the Command Prompt. There are various reasons why it happens, and also there are multiple ways to get around the “not recognized as an internal or external command” error on your Windows PC.
Why The “not recognized as an internal command” Error Occurs
Before you start applying fixes, it’s a good idea to learn why the error occurred so you can ensure it doesn’t happen again in the future.
Other Apps Messing Up Your System
One of the most common reasons you may get this error on your PC is because another installed app modified your system variables. This prevents the Command Prompt from recognizing commands to launch other apps or tools.
Not Having The Program Installed On Your Computer
The second possible reason the “not recognized as an internal or external command” occurs is that you don’t have the appropriate program installed on your computer. It may be that the installer didn’t install the application files at the appropriate location, or the installer didn’t enable the tool to be launched with Command Prompt.
Fixing The “not recognized as an internal or external command” Error In Windows
Regardless of the cause, there are ways to fix this error and get the Command Prompt to recognize the program that you’re trying to use.
Ensure The Program Actually Exists On Your PC
The first thing to do is verify if the program that you’re trying to use with the Command Prompt actually exists on your computer. You may have used a fake installer that told you that the program was successfully installed on your machine, but that may not be true.
There’s an easy way to check if the program is indeed installed on your machine.
C:\Windows\System32\
The above isn’t a surefire way to check if a program is installed on your computer. This is because not all programs keep their files in the Windows’ System32 folder. However, it should help you locate most programs.
Use The Full Path To The Executable File
The “is not recognized as an internal command” error usually occurs because the computer can’t find the executable that you’re asking it to launch. However, you can provide it with the full path to your executable file and it should then be able to run it without any issues.
C:\Users\ \Desktop\adb\adb.exe
Enclose The File Path With Double Quotes
Specifying the full path to your executable file isn’t a bulletproof method. It can also cause the “is not recognized as an internal or external command” error if it isn’t used properly. The problem lies in the path that you specify in your Command Prompt window.
If your executable file’s full path has any spaces in it, that’s going to cause the error. This is because the utility can’t recognize the spaces, and it uses the characters up to the first space as a program name. Since that isn’t the correct path, you’ll get the aforementioned error.
You can fix this using the following method.
Move The File To System32 Folder
By now, you know that when you try to run an executable from the Command Prompt utility, it looks into the System32 folder of your Windows installation and then opens the file, if it’s available there.
What if you could place your executable file there and then access it from the Command Prompt? You can do this as long as you have admin access on your computer.
While this method works great and helps you fix the “is not recognized as an internal or external command” error on your computer, you may want to use it cautiously.
This is because each time you want to use something from the Command Prompt, you’ll need to put the appropriate executable in the System32 folder. Eventually, the folder will grow large and you’ll have a large number of files sitting in there.
It also won’t work for executable tools that require installation into a specific directory. You won’t be able to move those into the System32 folder since the installation path is defined in the Windows Registry.
We recommend you only use this solution if you can’t fix the issue using the other methods and as long as the application doesn’t require installation.
Add The Executable File Path To Environment Variables
The most efficient way to fix the “is not recognized as an internal command” error is to edit your environment variable and add the appropriate file path there. This is because the Command Prompt utility looks at those paths when you enter a command, and then opens the file if it finds it in one of those directories.
By adding your file path there, you’re telling Command Prompt where a certain executable is located when you want to use it by its short-name in a CMD window.
It’s pretty easy to edit your variables and add a new path there.
The “is not recognized as an internal command” error can sometimes be very frustrating, as it won’t let you use a program that you know you’ve installed on your computer.
Using the methods above, you should be able to get rid of this error and run any program from a Command Prompt window without any issues. If any of the methods above helped you fix the issue, we’d like to know about it in the comments section below.
Mahesh has been obsessed with technology since he got his first gadget a decade or so ago. Over the last few years, he’s written a number of tech articles on various online publications including but not limited to MakeTechEasier and Android AppStorm. Read Mahesh’s Full Bio
I have Windows 7 and tried to use the ‘make’ command but ‘make’ is not recognized as an internal or external command.
‘make’ is not recognized as an internal or external command,operable program or batch file.
‘mingw32-make’ is not recognized as an internal or external command,operable program or batch file.
What shall I do next in order to fix this problem?
12 Answers 12
Your problem is most likely that the shell does not know where to find your make program. If you want to use it from «anywhere», then you must do this, or else you will need to add the full path each time you want to call it, which is quite cumbersome. For instance:
This is to be taken as an example, it used to look like something like this on XP, I can’t say on W7. But gnuwin32 used to provide useful «linux-world» packages for Windows. Check details on your provider for make.
In Windows10, I solved this issue by adding «C:\MinGW\bin» to Path then called it using MinGW32-make not make
This is an old question, but none of the answers here provide enough context for a beginner to choose which one to pick.
make is a traditional Unix utility which reads a Makefile to decide what programs to run to reach a particular goal. Typically, that goal is to build a single piece of software; but make is general enough to be used for various other tasks, too, like assembling a PDF from a collection of TeX source files, or retrieving the newest versions of each of a set of web pages.
Notice that the indentation needs to consist of a literal tab character. This is a common beginner mistake.
Common Versions of make
So Which Do I Need?
Well, it really depends on what you are hoping to accomplish.
If the software you are hoping to build has a vcproj file or similar, you probably want to use that instead, and not try to use make at all.
In the general case, MinGW make is a Windows port of GNU make for Windows, It should generally cope with any Makefile you throw at it.
If you know the software was written to use nmake and you already have it installed, or it is easy for you to obtain, maybe go with that.
You should understand that if the software was not written for, or explicitly ported to, Windows, it is unlikely to compile without significant modifications. In this scenario, getting make to run is the least of your problems, and you will need a good understanding of the differences between the original platform and Windows to have a chance of pulling it off yourself.
ng is not recognized as an internal or external command
Running windows 7 Professional 32bit.
What am i doing wrong?
47 Answers 47
I solved this problem in accordance with the figure:
run in cmd
and then
( open in Windows 10) Control Panel\All Control Panel Items\System or accordance with the figure
step 1:
step 2 :
step3:
step4:
step5: add missing ng path
Finally, restart all opened command prompts and try again.
For me it works with:
Adding C:\Users\DELL\AppData\Roaming\npm to System Variable Path worked for me. Please find your appropriate file path to ‘npm’
Also, check if you have added your angular-cli\bin path to the path variable.
I am using WIN 10, just figure it out for this problem. Type the code below in cmd:
npm config get prefix
Click Ok and reopen your cmd window, type in ng version, then it works! Cheers!
After that run the following command:
Once angular is installed. you can see an entry of angular cli in the path
Then try ng help. It will work.
1) Enter below command on command prompt
2) Make sure that C:\Users\_username_\AppData\Roaming\npm this path is not hidden.
3) Add C:\Users\_username_\AppData\Roaming\npm and
C:\Users\_username_\AppData\Roaming\npm \node_modules@angular\cli\bin to both enviroment variable path.
4) Open new command prompt and type ng help. It will work.
It works fine, I am able to run ng command now.
I followed below steps for resolution for this issue in Windows 10:
Same path can be found by running below too:
you will be able to see CLI version.
I solved it few days ago, after having the same problem with other global modules, by adding to:
Note that it must not have any spaces after ;
That turned out to be my problem.
Instead of using the in-built command prompt better start using the NodeJS installed version of command prompt. Then it is going to work perfectly without any issues.
execute following lines in order to solve the issue for both not found and undefined version of ng
If you get the error even after following the above step. then try below.
Since it is a node script. I am using the below option to create as of now.
node C:\Users\Administrator\AppData\Roaming\npm\node_modules\angular-cli\bin\ng version
May be symbolic links are required. Not researched further.
On Further Research: Set Path as : %PATH%;C:\Users\Administrator\AppData\Roaming\npm;
In Windows, npm.cmd file is in the above path. If the above Environment variable is set, you can execute as ng version ng init
In environment variables, add either in the user variable or System variable «Path» value= C:\Users\your-user\.npm-packages\node_modules\.bin
In cmd: c:\>cd your-new-project-path
. \project-path\> ng new my-app
or ng all-ng-commands
close cmd and open it again with admin right or reboot ur system.
I faced same issue when i tried to install angular cli locally with command
Than i tried to install it globally
After doing some research i found this article very helpful hope it will help someone facing similar issue
1- Install
2- Make sure where your ng.cmd is present.
3- Then add this path into variables.
I had the same problem on Windows 7, 64 bits running with npm v3.10.8.
Hope that may be useful!
In my case I did below steps.
I launched Visual Studio Code and opened below file
C:\Users\gochinta\AppData\Roaming\Code\User\settings.json and gave below
I faced same issue on x86, windows 7;
I am facing same issue and it’s get resolved. At my end reason is i install node and CLI using other user profile and now i am running ng command from other user login. Since node and cli installed using other user login node is not finding anything on C:\Users\ \AppData\Roaming this path and that’s why i am getting this error.
Sometime in the future. Applicable to Windows 8.1 machine. Run the following commands
Log out or restart your machine.
This should add the required env path, rather than doing it manually.
I also tried to play with cmd by setting environment variable path & etc, but simple answer is use nodejs command prompt.
So you no need to set environment variable path or anything. When you insalled nodejs it will give it’s command prompt, by using that you us «ng» command, without any settings.
Since this question is still asked over and over again one year later I will post my answer here as well.
The clue (on Windows only) is to arrange the entries in the path variable right.
So your path variable will look something like:
Now you have two possibilities:
This will load the npm version installed with npm (and not with node) and with the installed Angular CLI version.
;%appdata%\npm;… or …;%appdata%\npm\node_modules\@angular\cli;C:\
;%appdata%\npm;… for the short form.
mvn command is not recognized as an internal or external command
I am getting the mvn command not recognized as an internal or external command.
I have setup the M2_HOME, JAVA_HOME and added %M2_HOME%/bin to the path variable. All are system variables. Still getting the same problem.
Echoing the variables showing me the correct paths.
Path to Maven: C:\apache-maven-3.1.0\apache-maven-3.1.0
PATH: Other things,C:\Program Files (x86)\Java\jdk1.7.0_40\bin,C:\apache-maven-3.1.0\apache-maven-3.1.0\bin
and I have restarted my computer twice.
24 Answers 24
Restart your machine, after setting up your M2_HOME (pointing to you Maven basedir, NOT the bin dir) and PATH ( PATH=%M2_HOME%\bin;%PATH% ).
Right click on My Computer >> Properties >> Advanced system settings >> System Properties window will get displayed Under Advanced >> Environment Variables
Click on New to set Environment Variables
Variable name: JAVA_HOME Variable value: C:\Program Files\Java\jdk1.8.0_121
Variable name: M2 Variable value: %M2_HOME%\bin
Variable name: M2_HOME Variable value: C:\Program Files\Apache Software Foundation\apache-maven-3.5.0
Variable name: Path Variable value: %M2_HOME%\bin
Then click on Ok, ok, ok. Now restart you command prompt and check again with “mvn –version” to verify the mvn is running, you may restart your system also.
Thanks Sandeep Nehte
Write the entire maven path into the Environment PATH variable.
Example:
My PATH variable wasn’t reading %M2% or %M2_HOME%\bin properly, and therefore I wrote the full path into the PATH variable.
Working.
This is worked for me:
2-copy the folder under c:\programfiles
add Path variable to this: ;C:\Program Files\apache-maven-3.3.9\bin
then run the cmd as system admin
I also was facing with the same issue still after adding path in environment variable and running it as a normal user in command prompt.
Then I opened command prompt and tried running as «Run as Administrator» and I was able to download all the packages with respect to the project.
Are you trying to reference a user variable in system variables? Try echo %path% and the M2 should have been fully expanded to show the file path to your Maven directory. If it hasn’t, then that’s the problem.
To fix it, you should create a user variable called PATH and add your %M2% reference into there.
Open Command prompt As «Run As a administrator» and try.
Try %M2_HOME%\bin ( \ rather than / )
I faced this problem which kept me busy and buggy for quiet sometime. I was facing the problem (mvn not recognized) after setting up all required environment variables absolutely correctly. So by going by one of the response here, I switched to another version of maven and that fixed the problem.
Not being completely convinced why it worked this way, I then unzipped the problematic-version and updated env-vars which made it work.
In my first attempt I had modified this structure by deleting apache-maven-3.5.0-bin folder and bringing apache-maven-3.5.0 structure one folder up. This was causing the problem.