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

Hi Team,

Could you please, assist with this problem? 

@echo off
rem example.

Set AnaplanUser=":password"
set WorkspaceId="*****************"
set ModelId="*****************"
set Operation=-via http://example.net:10085 -export "Export_action.xls" -execute -get "D:\output.xls"

rem *** End of settings - Do not edit below this line ***

setlocal enableextensions enabledelayedexpansion || exit /b 1
cd %~dp0
if not %AnaplanUser% == "" set Credentials=-user %AnaplanUser%
set Command=.\AnaplanClient.bat %Credentials% -workspace %WorkspaceId% -model %ModelId% %Operation%
@echo %Command%
cmd /c %Command%
pause

Error message:

AnaplanClient.bat is not recognized as internal or external command, operable program or batch file

BR, Sam


Question

What does the error "Msmake.bat is not recognized as an internal or external command" mean and what could one do to overcome the error?

Cause

The error message will appear if the configuration settings are not correctly set for the compiler you have currently installed. For example, you may have Microsoft Visual Studio 2008 installed but the default samples are set for Microsoft Visual Studio 2005.

Answer

If you have Microsoft Visual Studio 2008, Cygwin or others installed then what you will need to do is the following:

  1. Open Components in the Rational Rhapsody Browser
  2. Under Components, open DefaultComponent (or a component that you created)
  3. Under the DefaultComponent, highlight DefaultConfig (or a config that you created)
  4. Right-Click and select "Features..."
  5. In the Features dialog, click the drop down beside the "Environment" and select "MSVC9" (see below).

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

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

  6. Click OK
  7. Try the build again.

NOTE: If you are using Cygwin, then select Cygwin. If you are using Microsoft Visual Studio 2004 or lower then leave the default (Microsoft)

If the problem persists then please contact Rational Client Support as the issue may be related to other settings/configurations that will need further research.

[{"Product":{"code":"SSB2MU","label":"IBM Engineering Systems Design Rhapsody"},"Business Unit":{"code":"BU059","label":"IBM Software w\/o TPS"},"Component":"General Information","Platform":[{"code":"PF033","label":"Windows"}],"Version":"7.5.1","Edition":"","Line of Business":{"code":"LOB59","label":"Sustainability Software"}}]

Product Synonym

Rational Rhapsody

I have a simple batch file a.bat in dir c:\users\ppast\onedrive\plocha\

@echo off
rem this is remark
dir "c:\program files" > c:\list.txt
echo "program has completed"

I want to execute it from cmd

>cd c:\users\ppast\onedrive\plocha
>dir /b
... 
a.bat
...
>a.bat
'a.bak' is not recognized as an internal or external command,
operable program or batch file.

Here I want simply execute it, but the batch cannot find it (it is correct dir, the file exists and the only way, I can exe the file is >a {TAB} to autocomplete >a.bak {Enter}. Now it works). So it only works with autocomplete, but not if I specify relative path from the current dir (e.g. simple a.bat). Why? IS there a possible other program is messing with it? I have some environment variables, but delete them all, yet the issue persist. Is there a reason only autocomplete work?

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?

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

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

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

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

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

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

C:\Windows\System32 

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

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.

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

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.

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

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

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

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"

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

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

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

Click on System and Security.

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

Click on System.

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

In the left sidebar, click on Advanced system settings.

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

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

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

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.

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

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

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

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

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

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

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

… and pasting it in the environment variable window;

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

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

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

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

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

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.

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

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

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

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

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

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.

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

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.

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

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

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

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.

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

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

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

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

  • 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

How do I fix not recognized as an internal or external command operable program or batch file?

You can resolve this issue in three ways: First, use the full path of the executable file to launch the program. Second, add the program path to Windows environment variables. Finally, move the files to the System32 folder.

How do I enable a .bat file?

Open Start. Search for Command Prompt, right-click the top result, and select the Run as administrator option. Type the following command to run a Windows 10 batch file and press Enter: C:\PATH\TO\FOLDER\BATCH-NAME. bat.

How do I install a BAT file in Windows?

Add the CMD or BAT file in the Files and Folders page..
Add the CMD or BAT file in the Files and Folders page. This way the file will be installed by the package, and it can be launched after the Install Execution Stage -> Add Resources action group. ... .
Another approach is to add the CMD or BAT file as a temporary file..

Is not recognized as an internal or external command batch file?

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.