What Is a BAT File?

How to Open, Edit, and Convert BAT Files

BAT Files
BAT Files.

A file with the BAT file extension is a Batch Processing file. It's a plain text file that contains various commands used for repetitive tasks or to run groups of scripts one after another.

Software of all types may use BAT files for various purposes, like to copy or delete files, run applications, shutdown processes, etc.

BAT files are also called batch files, scripts, batch programs, command files, and shell scripts, and may instead use the .CMD extension.

Important: BAT files have the potential to be very dangerous to not only your personal files but also important system files. Take extreme caution before opening one.

How to Open a BAT File

Even though the .BAT extension immediately makes Windows recognize them as executable files, BAT files are still comprised entirely of text commands. This means that any text editor, like Notepad, which is included in all versions of Windows, can open a BAT file for editing. To open the BAT file in Notepad, just right-click it and choose Edit from the menu.

I personally prefer more advanced text editors that support syntax highlighting, some of which are listed in our Best Free Text Editors list. 

Using a text editor will show the code that makes up the BAT file. For example, this is the text inside a BAT file that's used to empty the clipboard:

cmd /c "echo off | clip"

Here's another example of a BAT file that uses the ping command to see if the computer can reach a router with this particular IP address:


Warning: Again, take great care when opening executable file formats like .BAT files that you may have received via email, downloaded from websites you're not familiar with, or even created yourself. See my List of Executable File Extensions for a list of other file extensions to avoid, and why.

To actually use a BAT file in Windows is as simple as double-clicking or double-tapping it. There's not a program or tool you need to download in order to run BAT files.

To use the first example from above, entering that text into a text file with a text editor, and then saving the file with the .BAT extension, will make the file an executable that you can open to immediately erase anything saved to the clipboard.

The second example that uses the ping command will ping that IP address; the pause command keeps the Command Prompt window open when finished so you can see the results.

Tip: Microsoft has some more information on BAT files and their commands in this Using Batch Files document. Wikibooks and MakeUseOf may be helpful too. Also see my List of Command Prompt Commands for hundreds of commands you can use in BAT files.

Note: If your file doesn't seem to be a text file, then you're probably not dealing with a BAT file. Check the file extension to make sure you aren't confusing a BAK or BAR (Age of Empires 3 Data) file with a BAT file.

How to Convert a BAT File

As you see above, the code of a BAT file is not hidden in any way, which means they're very easy to edit. Since certain instructions in a BAT file (like the del command) can wreck havoc on your data, it might be important in some scenarios to convert the BAT file to a format like EXE to make it more like an application file.

A BAT file can be converted to an EXE file using a few command-line tools. You can read how to do this at How-To Geek. Windows has a built-in tool called IExpress that provides another way to build an EXE file from a BAT file - Renegade's Random Tech has a good explanation on how to do that.

Though the free version is only a trial, EXE to MSI Converter Pro is a tool that can convert the resulting EXE file to an MSI (Windows Installer Package) file.

You can use the free NSSM command-line tool if you want to run a BAT file as a Windows Service.

PowerShell Scriptomatic can help you convert the code in a BAT file to a PowerShell script.

Instead of searching for a BAT to SH (Bash Shell Script) converter in order to use the BAT commands in programs like Bourne Shell and Korn Shell, I recommend just rewriting the script using the Bash language. The structure between the two formats are rather different because the files are used in different operating systems. See this Stack Overflow thread and this Unix Shell Scripting tutorial for some information that might help you translate the commands manually.

Important: You cannot usually change a file extension (like the BAT file extension) to one that your computer recognizes and expect the newly renamed file to be usable. An actual file format conversion using one of the methods described above must take place in most cases. However, since BAT files are just text files with a .BAT extension, you can rename it to .TXT to open it with a text editor. Remember that doing a BAT to TXT conversion will prevent the batch file from executing its commands.

Instead of manually changing the file extension from .BAT to .TXT, you can also open the batch file in Notepad for editing and then save it to a new file, choosing TXT as the file extension before saving instead of BAT.

This is also what needs to be done when making a new BAT file in Notepad, but in reverse: save the default text document as BAT instead of TXT. In some programs, you might have to save it in the "All Files" file type, and then put the .BAT extension on it yourself.

More Help With BAT Files

See Get More Help for information about contacting me on social networks or via email, posting on tech support forums, and more. Let me know what kinds of problems you're having with opening or using the BAT file and I'll see what I can do to help.