Topic List

Click a topic to learn more.


Term of the Moment

data compression


Look Up Another Term


Definition: batch file abc's


This tutorial is for Windows PC users who want to perform a series of file management operations without having to enter commands one at a time. Using a text editor such as Notepad, type each command on a separate line in the order of execution. Save the file with a .CMD extension.

If the following commands are saved in a batch file named BACKIMAGES.CMD, every time BACKIMAGES is run, the Xcopy commands will be executed in sequential order:
  BACKIMAGES.CMD
    xcopy \images\*.gif \backup /m
    xcopy \images\*.jpg \backup /m
    xcopy \images\*.png \backup /m

  C:\BATCHFILES>backimages   run script


Tip!
Store all batch files in a dedicated folder and add that folder to the Path environment variable so that any batch file can be executed from any command prompt (see Path environment variable).


Selective Operation
A batch file can include multiple tasks, and the user can choose which one to execute. See Choice.

User Input
A batch file can be flexible and accept user input. The percent sign (%) symbol is used to indicate the parameter variables that are replaced with actual user input when the command is executed. Notice the behavior if the following command were in a batch file named SAVE.CMD:
 batch command:  xcopy \%1\*.%2 g:\ /m

 user enters:    C:\>save bob gif

 executes as:    xcopy \bob\*.gif g:\ /m


Stop a Running Batch File
To stop a batch file in operation, press Ctrl-C or Ctrl-Break.


Quick Reference
The following commands are commonly used in batch files:
  cls        Clear screen
  rem or ::  Remarks
  @echo off  Turn off display
              for this command only
  echo off   Turn off display
  echo on    Turn on display
  echo       Display message; for example,
              echo Press Y for Yes
  call       Call other batch file
  pause      Stop and wait for keystroke

  choice     Input selection (see Choice.)
  if not errorlevel 0 goto :line

  if not exist filename goto :line
  if not string1==string2 goto :line

  %1 - %9   - Input parameter variables