What does G ++ is not recognized as an internal or external command operable program or batch file mean?

I have recently installed MinGW for Windows, and I am wanting to compile a program named "object.cpp" at C:\Users\User\. So I open the command prompt, go to my desired directory, and type in the command c++ object.cpp. I am expecting it to return with nothing, but then I receive the error message:

'c++' not recognised as an internal or external command, operable program or batch file

I have tried Setting the Environmental Variable Path to C:\MinGW\bin; but it still comes up with the error message. What should I do to correct this?

Edit:

People have said I should use g++ It still doesn't work.

Also, in C:\MinGW\bin, there exists a c++ and g++ .exe files. So, I do not know what is wrong.

The command prompt is displaying:

C:\Users\User>c++ 'c++' is not recognized as an internal or external command, operable program or batch file. C:\Users\User>g++ 'g++' is not recognized as an internal or external command, operable program or batch file. C:\Users\User>mingw 'mingw' is not recognized as an internal or external command, operable program or batch file.

Note: Starting June 1, 2021, GoDaddy will no longer issue or renew Code Signing or Driver Signing Certificates. If you already own a Code Signing or Driver Signing Certificate, you will be unable to rekey it after June 1, 2021. All certificates issued before June 1, 2021 will remain valid until they expire.

While trying to sign code using a code or driver signing certificate through cmd.exe using SignTool, you might receive the following error message:

'signtool' is not recognized as an internal or external command, operable program or batch file

What does G ++ is not recognized as an internal or external command operable program or batch file mean?

This error means that the SignTool executable is not accessible through cmd.exe.

Solution

Add the path for signtool.exe to your system PATH.

Find the path to signtool.exe

  1. In Windows Explorer, search for signtool.exe
  2. Right-click the result, and then select Open file location.
  3. Click the address bar in Windows Explorer and copy the path that displays there.
    What does G ++ is not recognized as an internal or external command operable program or batch file mean?

Add signtool.exe to your system path

  1. Launch cmd.exe.
  2. Add the path to signtool.exe to your system PATH:

    set PATH="the path to signtool.exe you copied in the last section";%PATH%

Warning:

This solution works only until you close this instance of cmd.exe. If you close and relaunch cmd.exe, you have to add signtool.exe to your system's path again.

Next step

  • SignTool: Sign Windows code with a code signing certificate

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?

What does G ++ is not recognized as an internal or external command operable program or batch file 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”. 

“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.

What does G ++ is not recognized as an internal or external command operable program or batch file mean?

With Apps & features selected in the left pane, you will see the list of programs in the right pane. 

What does G ++ is not recognized as an internal or external command operable program or batch file mean?

If the program is not displayed here, open up File Explorer (Win+E) and navigate to the following folder:

C:\Windows\System32 

What does G ++ is not recognized as an internal or external command operable program or batch file mean?

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.

What does G ++ is not recognized as an internal or external command operable program or batch file mean?

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.

What does G ++ is not recognized as an internal or external command operable program or batch file mean?

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

What does G ++ is not recognized as an internal or external command operable program or batch file mean?

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"

What does G ++ is not recognized as an internal or external command operable program or batch file mean?

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”.

What does G ++ is not recognized as an internal or external command operable program or batch file mean?

Click on System and Security.

What does G ++ is not recognized as an internal or external command operable program or batch file mean?

Click on System.

What does G ++ is not recognized as an internal or external command operable program or batch file mean?

In the left sidebar, click on Advanced system settings.

What does G ++ is not recognized as an internal or external command operable program or batch file mean?

In the “System properties” window, click on Environment Variables at the bottom. 

What does G ++ is not recognized as an internal or external command operable program or batch file mean?

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.

What does G ++ is not recognized as an internal or external command operable program or batch file mean?

Now, to add a new variable value (file location), click on New.

What does G ++ is not recognized as an internal or external command operable program or batch file mean?

Here, add the folder path to the program/application you want to run through Command Prompt.

What does G ++ is not recognized as an internal or external command operable program or batch file mean?

You can either do this by simply going to where your application (chrome.exe in our example) is installed and copying the path…

What does G ++ is not recognized as an internal or external command operable program or batch file mean?

… and pasting it in the environment variable window;

What does G ++ is not recognized as an internal or external command operable program or batch file mean?

Or through the environment variable window itself. For this, click on Browse.

What does G ++ is not recognized as an internal or external command operable program or batch file mean?

Then navigate to the folder, select it, and click on OK.

What does G ++ is not recognized as an internal or external command operable program or batch file mean?

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.

What does G ++ is not recognized as an internal or external command operable program or batch file mean?

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

What does G ++ is not recognized as an internal or external command operable program or batch file mean?

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). 

What does G ++ is not recognized as an internal or external command operable program or batch file mean?

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.

What does G ++ is not recognized as an internal or external command operable program or batch file mean?

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.

What does G ++ is not recognized as an internal or external command operable program or batch file mean?

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

What does G ++ is not recognized as an internal or external command operable program or batch file mean?

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.

What does G ++ is not recognized as an internal or external command operable program or batch file mean?

Restart the command prompt, and you should be able to execute the adb command.

What does G ++ is not recognized as an internal or external command operable program or batch file mean?

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.

RELATED