Table of Contents
This updated guide examines How to Write a Batch File and organizes the essential facts, background, and practical takeaways in clear American English.
Part 1of 2:
Learning Batch Basics
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 opening Start
, typing inNotepad, and clicking the blue Notepad app icon at the top of the menu.
- Notepad is commonly used to convert text files into batch files, but you can write your batch file's text virtually anywhere.
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 its 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.
- TITLE- Edit the title of the window.[1]
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]
MKDIRc:example1MKDIRc:example2
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:
@ECHOOFF 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./mspecifies that only updated files will be copied,/especifies that all subdirectories in the listed directory will be copied, and/ykeeps the confirmation message appearing every time a file is overwritten.
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:
@ECHOOFFcdc:sourceREM This is the location of the files that you want to sortFOR%%fIN(*.doc *.txt)DOXCOPY c:source"%%f"c:text /m /yREM This moves any files with a.doc orREM.txt extension from c:source to c:textREM %%f is a variableFOR%%fIN(*.jpg *.png *.bmp)DOXCOPY C:source"%%f"c:images /m /yREM This moves any files with a.jpg,.png,REM or.bmp extension from c:source to c:images
- Display some text. If you want to know what is happening in your batch file but don't want to see all the commands, you could program the batch file to print some text that explains what the batch file does. You can print text withECHO. For example:
@ECHOOFFMKDIRc:example1ECHOCreated directory example1
- You can change the color of the output withCOLOR bf, where b is the background and f is the foreground color, both a hexadecimal number. Following colors are possible:NumberColorNumberColor0
8
dark grey
1dark blue
9
blue
2dark green
a
green
3dark turquoise
b
turquoise
4dark red
c
red
5dark magenta
d
magenta
6dark yellow
e
yellow
7light grey
f
white
- For example, red text on a dark green background would be displayed with
COLOR2c
- You need run the batch file from the command line to see the text, because else the window will close too fast to actually read the text you printed.
- You can change the color of the output withCOLOR bf, where b is the background and f is the foreground color, both a hexadecimal number. Following colors are possible:NumberColorNumberColor0
Experiment with different batch commands. If you want inspiration, you can check out the sample batch text at the end of this article.
Score 0/0
Part 1 Quiz
If you want to add a section to your batch code that only copies updated files, what should you add to the code?
That's right! Adding the /m function will ensure only updated files are copied. Using /m in a basic program will allow your batch file to efficiently back up your data.Read on for another quiz question.
Not quite! The /e function won't work to keep only updated files. Instead, use /e to specify that all your subdirectories in any listed directory should be copied.Choose another answer!
Try again! Using /y won't limit your backups to only updated files. Instead, you can insert /y into your batch file to allow the confirmation message to pop up each time a file is overwritten.Try another answer...
Want more quizzes?
Keep testing yourself! Part 2of 2:
Saving the Batch File
Finish entering your batch file's text. Once you've completed and proofread your batch file, you can proceed with saving it as an executable file.
ClickFile. It's in the top-left corner of the Notepad window. A drop-down menu will appear.
ClickSave As…. This option is in the File drop-down menu. Clicking it prompts the Save As window to open.
Enter a name and the".bat" extension. In the "File name" text box, type in whatever you want to name your program followed by.bat.
- For a program named "Backup", for example, you'd type inBackup.bathere.
Click the "Save as type" drop-down box. You'll find it near the bottom of the Save As window. A drop-down menu will appear.
ClickAll Files. It's in the drop-down menu. This will allow your file to be saved as whatever its extension is (in this case, ".bat").
Select a save location. Click a folder on the left side of the window (e.g., Desktop ) to do so.
ClickSave. It's in the bottom-right corner of the Save As window. The window will close.
Close your Notepad file. It will be saved as a batch file in your selected location.
Edit the batch file's contents. At any time, you can right-click your batch file and click Edit in the resulting drop-down menu. This will open the batch file as a Notepad document; at this point, you can make any changes and then save the file by pressingCtrl+S.
- The changes will immediately be reflected when you run the batch file.
Score 0/0
Part 2 Quiz
Why should you save your batch file as a.bat extension?
Not exactly! Choosing a.bat extension won't keep your notepad document as a text file. If you are not finished writing your batch file, you can save the document as a.txt extension, which will keep the document as text.Click on another answer to find the right one...
Yes! When you're finished writing your batch file, switch the extension to.bat instead of.txt. This converts your document to a batch file once it's saved under "All Files."Read on for another quiz question.
Nope! You can save your batch file under the default option of the "Save as Type" dropdown menu. However, if you don't convert the drop down option to "All Files," you typically won't be able to save your document as a batch file.Guess again!
Want more quizzes?
Keep testing yourself!
Sample Batch File
Sample Batch File
FAQ
What is How to Write a Batch File about?
It provides a structured overview of file, explains the main context, and highlights practical takeaways for readers.
Why does this topic matter?
Understanding the main concepts helps readers evaluate the issue, avoid common mistakes, and make better-informed decisions.
How should readers use this information?
Use the guidance as a practical starting point, confirm details that may have changed, and follow current product, safety, or security recommendations.
Reader Comments 0
Sign in with email or Google to join the discussion.