What Is a BAT File?

How to Open, Edit, and Convert BAT Files

BAT Files

 Tim Fisher

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 use .BAT files for various purposes—for example, to copy or delete files, run applications, and shut down processes. .BAT files are also called batch files, scripts, batch programs, command files, and shell scripts, and may instead use the .CMD extension.

Important: Working with .BAT files can 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 such a file as executable, .BAT files are still composed entirely of text commands. This means that any text editor, such as 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. You might find more advanced text editors that support syntax highlighting helpful when editing a .BAT file. You'll find some in our Best Free Text Editors list. 

Opening the .BAT file in a text editor will display the code that makes up the 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:

ping 192.168.1.1
pause

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

Using a .BAT file in Windows is as simple as double-clicking or double-tapping it. You don't need to download any special program or tool.

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, which uses the ping command, will ping that IP address; the pause command keeps the Command Prompt window open when the process is finished so you can see the results.

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 shown, the code of a .BAT file is not hidden in any way, which means it's very easy to edit. Because certain instructions in a .BAT file (such as the del command) can wreak havoc on your data, converting the .BAT file to a format like .EXE to make it more like an application file might be wise.

You can convert a .BAT file to an .EXE file using a few command-line tools. You can read how to do this at How-To Geek.

  • Windows built-in IExpress tool 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 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 to use the .BAT commands in programs such as Bourne Shell and Korn Shell, try just rewriting the script using the Bash language. The structure of the two formats is 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: Usually, you can't change a file extension (like .BAT) 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. Given that the .BAT files are just text files with a .BAT extension, however, 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 also can 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 you need to do 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.

See Get More Help for more information.