Edit Article

Edited by Sue Crocker, Travis Derouin, eric b, Evilboy and 66 others

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.

Ad

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.
    Ad
  2. 2
    Learn some basic batch commands. Batch files run a series of ODS 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. 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.
    • Select "All files".
    • Enter a name for the program followed by .bat
  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
  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
    Ad

Video



Tips

  • You can use third-party editors such as UltraEdit to edit your batch file, but for the most part, these are a waste of time when writing simple batch files.
  • You will have to use quotes if you want to open a directory or file with spaces in its name, like start "C:\Documents and Settings\".
  • Batch files can also have a .cmd extension beginning with Windows 2000. There is no difference in operation, but the .cmd files use 32-bit execution while the .bat files use 16-bit execution.
Ad

Sample Batch File

Warnings

  • Depending on the commands you use, it can be dangerous. Be sure you know what you are doing, and that none of the code is dangerous (e.g. batch commands to delete files).

Article Info

Categories: Windows

Recent edits by: CQinPDX, Hailey Girges, Charlie Bear 2014

In other languages:

Español: Cómo crear un archivo por lotes, Português: Como Escrever um Arquivo em Lote, Italiano: Come Creare un File Batch, Français: Comment écrire un fichier batch, Deutsch: Eine Batch Datei schreiben, Русский: написать батник, Nederlands: Een batchbestand maken

Ad

Thanks to all authors for creating a page that has been read 1,197,352 times.

Was this article accurate?

YesNo

Contribute
to wikiHow!

Edit this article