A batch file is a collection of MS-DOS and Windows command line commands used on a computer. If you are familiar with the command line, you can use your prior knowledge to help you create a batch file. If you’re new to the command line or need a refresher, see: How to use the Windows command line (DOS).
Batch commands
Below is a listing of commands used in a batch file with additional information about each of the commands.
@
The at symbol does not echo back text after the symbol. The @ is often used as @ECHO OFF to only show the output of the command.
Like all commands, all batch file commands are not case-sensitive. However, we listed the batch file commands in all caps to help with identification.
%1
The percent followed by a numeric value, beginning with one, lets you add matched variables to a batch file. The line below is an example of what can be used in a batch file.
ECHO Hello %1
With a batch file containing the above line if you type myname (name of bat file) and then your name, as shown below.
myname Bob
It would output “Hello Bob” because “Bob” is the first matched text.
::
Two colons in front of a line remarks that line in the batch file and is never displayed when the batch file is run. Unlike REM, this line is not shown regardless if ECHO off is in the batch file.
You can keep going to %2, %3, etc. For example, you could use %2 for a middle name and %3 as the last name.
:LABEL
By adding a colon in front of a word, such as LABEL, you create a category, more commonly known as a label. A label lets you skip to certain sections of a batch file such as the end of the batch file. Also see GOTO.
CALL
A call is used to run another batch file within a batch file. When the batch file that is called is completed, the remainder of the original batch file is completed. If the batch file does not exist, you get an error.
CHOICE and SET
The choice and set commands allow you to have options in your batch file. Further information about these commands is on the choice and set pages.
- How to use choice and set in a batch file.
CLS
Like the DOS command, cls would clear your screen. Run the cls command at the top of your batch file to clear any previous commands or output. This action makes the batch file output easier to find and read.
ECHO
Echo a message in the batch file. Such as ECHO Hello World prints Hello World on the screen when executed.
EXIT
Exits out of the DOS window if the batch file is running from Windows. See the exit command page for further information on this command.
Without @ECHO OFF at the beginning of the batch file you’ll also get “ECHO Hello World” and “Hello World.”
If you’d like to create a blank line, type ECHO. adding the period at the end creates an empty line.
GOTO
Jumps to a label or section of a batch file. The goto function makes it easier to jump back to the start of a batch file if a condition is met, or an error occurs.
IF
Used to check for a certain condition if the condition exists. If that condition exists, it performs that function. See the if command for further information on this command.
PAUSE
Prompt the user to press any key to continue.
REM
One of two ways of adding remarks into the batch file without displaying or executing that line when the batch file is run.
SHIFT
The shift command changes the position of replaceable parameters in a batch program. See the shift page for further information on this command.
START
Used to open Windows programs. For example, START C:\WINDOW\CALC would run the Windows Calculator. The start command can also be used to start any file Windows recognizes. For example, you could start a movie or audio file in a batch file to start your default player for that file.
OTHER COMMANDS
In Windows 3.x, you need to utilize the WIN command. For example, WIN C:\Windows\CALC.EXE would run Windows and then Calculator after Windows has finished loading.
See our command line overview and our MS-DOS help page for a full listing of MS-DOS and Windows command line commands.
Related information
- How to make a batch file.
- See our batch file definition for related links and information.
- Batch file help.