Use the Microsoft Batch File Language

Batch files are DOS command line commands batched together. In Linux they are known as shell scripts, and follow a completely different syntax. Early Windows users had to use a batch file (autoexec.bat) to allocate a drive letter to their CD-ROM's, in order to install Windows from CD. Batch files are not so crucial nowadays, although still supported by newer versions of Windows.

Under Windows XP/2000+, batch files (*.bat) run in a special window (aka Command Prompt) created by c:\window\system32\cmd.exe (this could be called command.com in some instances). Commands can be typed in individually, or listed sequentially in a batch file, requiring use of batch file language. This How-To will tell you how to create and run a Microsoft batch file, giving a simple backup as an example.

Steps

  1. Open your text editor. Expect to use keys A-Z/0-9/, the symbols (!$| etc), and Enter. Most commands do not check entry for upper/lowercase, so for the moment don't worry about CAPS (or cApS). Each command (and its parameters) goes on one line. Open a command line window (cmd.exe) to test the commands you want to run. Arrange your windows so you can see them both.
Write the Batch File
  1. Start writing the file. To start writing the file, most people start with @echo off as it stops each command being printed as it is processed. It reduces clutter on the user's screen.(This section does some hand-holding. If you want the finished script, jump to the next section.)
  2. Hit enter. Remember to press enter after each command.
  3. Welcome the user to the program. Type:
  4. Hit enter again? Good.
  5. Leave a blank line for neat spacing then continue typing yet another line.
  6. Press Enter one more time.
  7. Program what options you want the person who runs your program to see. This code below gives the user a choice. Either they press F, or N, or they press Q or CTRL-Z which cancels the whole script.
  8. Create commands for each choice. If the user presses Q the program returns a "3", and goes to section "end". If they press N the program returns a "2", and goes to section "small_backup". If they press F, the program returns a "1", and goes to "full_backup". "Errorlevel" is not a error message as such, just the only way to set output from the CHOICE command.
  9. Create those sections referred to above. Type:
    • Create the directories referred to above, and copy a few small test files into the source directory ready for testing. Later you can change those directory names to suit your real <my documents="">.
  10. Save the file in Notepad as "mybackup.bat".
  11. Double-click the file to run it.
The Full Code
  1. Practice your copy & pasting skills on the following text.

Tips

  • Closing the Window: If you want the program to close when finished, leave the script as is. If you would like to leave the window open for further commands, change the command <exit> in the final section to <cmd>, which leaves the window open.
  • Current Directory: If the program references files in its own directory, you don't need to put in the drive letter. So with the batch file in C:\ you can target files in c:\temp\ just by typing: : Xcopy temp\*.* d:\temp /s/m

Warnings

  • While the commands shown here are pretty harmless, use of certain system commands in batch files are potentially dangerous if misused.
  • The CHOICE command is not included in Windows XP Home nor Professional and will cause the batch file to close abruptly without prior notice.

Things You'll Need

  • A text editor such as Notepad, or a programmer's editor such as HTML-Kit. Programs that embed further information in files (like Word) are not suitable.
  • Access to a Command Prompt. Click <start><run>, and type "cmd". Or access the feature under <accessories> in the Start Menu.
  • Some files that you can do a test backup on. Try with a small directory with few files, until you get going.

Related Articles

Sources and Citations