How to Write a Batch File

A batch file contains a series of DOS commands, and is commonly written to automate frequently performed tasks. Instead of typing the same commands over and over, you can simply double-click the batch file. Writing a batch file is easier than it looks; the difficult part is making sure that everything happens in the right order. Well-made batch files can save you a lot of time over the long run, especially if you deal in repetitive tasks.

Steps

Note: In Linux, shell scripts are used instead of batch files. See this guide for details on writing shell scripts in Linux.
  1. 1
    Open Notepad. Notepad allows you to create code as a text file and then save it when you're done as a batch file. You can open Notepad by clicking Start → Programs → Accessories → Notepad. You can also enter notepad into the Run box.
  2. 2
    Learn some basic batch commands. Batch files run a series of DOS commands, so the commands that you can use are similar to DOS commands. Some of the more important ones include:
    • ECHO - Displays text on the screen
    • @ECHO OFF - Hides the text that is normally output
    • START - Run a file with it's default application
    • REM - Inserts a comment line in the program
    • MKDIR/RMDIR - Create and remove directories
    • DEL - Deletes a file or files
    • COPY - Copy a file or files
    • XCOPY - Allows you to copy files with extra options
    • FOR/IN/DO - This command lets you specify files.[1]
  3. 3
    Write a program to create a directory. One of the easiest ways to learn how to create batch files is to focus on doing basic tasks first. For example, you can use a batch file to quickly create multiple directories:[2]
    MKDIR c:\example1
    MKDIR c:\example2
    
  4. 4288 4.jpg
    4
    Save the file. Once you have entered your code, you can save the file using the Batch filetype. Click File → Save As.
    • Click the "Save as type" dropdown menu.
      4288 4b1.jpg
    • Select "All files".
      4288 4b2.jpg
    • Enter a name for the program followed by .bat or .cmd.
      4288 4b3.jpg
    • Make sure the encoding is ANSI and save the file
  5. 5
    Write the code to make a basic backup program. Batch files are great for running multiple commands, especially if you configure it to be able to run multiple times. With the XCOPY command, you can make a batch file that copies files from select folders to a backup folder, only overwriting files that have been updated since the last copy:
    @ECHO OFF 
    XCOPY c:\original c:\backupfolder /m /e /y
    
    • This copies over files from the folder "original" to the folder "backupfolder". You can replace these with the paths to the folders you want. /m specifies that only updated files will be copied, /e specifies that all subdirectories in the listed directory will be copied, and /y keeps the confirmation message appearing every time a file is overwritten.
  6. 6
    Save the file. Once you have entered your code, you can save the file using the Batch filetype. Click File → Save As.
    • Click the "Save as type" dropdown menu.
    • Select "All files".
    • Enter a name for the program followed by .bat or .cmd.
  7. 7
    Write a more advanced backup program. While simply copying the files from one folder to another is nice, what if you want to do a little sorting at the same time? That's where the FOR/IN/DO command comes in. You can use that command to tell a file where to go depending on the extension:
    @ECHO OFF 
    cd c:\source
    REM This is the location of the files that you want to sort
    FOR %%f IN (*.doc *.txt) DO XCOPY c:\source\"%%f" c:\text /m /y
    REM This moves any files with a .doc or 
    REM .txt extension from c:\source to c:\text
    REM %%f is a variable
    FOR %%f IN (*.jpg *.png *.bmp) DO XCOPY C:\source\"%%f" c:\images /m /y
    REM This moves any files with a .jpg, .png, 
    REM or .bmp extension from c:\source to c:\images
    
  8. 8
    Save the file. Once you have entered your code, you can save the file using the Batch filetype. Click File → Save As.
    • Click the "Save as type" dropdown menu.
    • Select "All files".
    • Enter a name for the program followed by .bat or .cmd.

Comments