This article was co-authored by wikiHow staff writer, Nicole Levine, MFA. Nicole Levine is a Technology Writer and Editor for wikiHow. She has more than 20 years of experience creating technical documentation and leading support teams at major web hosting and software companies. Nicole also holds an MFA in Creative Writing from Portland State University and teaches composition, fiction-writing, and zine-making at various institutions.
This article has been fact-checked, ensuring the accuracy of any cited facts and confirming the authority of its sources.
This article has been viewed 3,015,805 times.
Learn more...
This wikiHow guide will teach you how to write and save a basic batch file on a Windows computer. Batch files, or batch scripts, contain Command Prompt commands, arguments, and variables, and are commonly used to automate frequently performed tasks. You shouldn't have to download any fancy editors to create a batch file—the Windows-standard Notepad program is more than sufficient.
Creating a Batch File: Fast Facts
- You can write a batch file in Notepad, a free text editor built into Windows.
- To save the file, go to File > Save as, select All files (*.*) from the "Save as type" menu, and type a file name that ends with ".bat".
- To run the script, open Command Prompt, enter the folder that contains the batch file, type the full name of the batch file (e.g., "Backup.bat"), and press Enter.
Steps
Batch File 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 Notepad, and clicking the 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 Command Prompt commands. Some of the more common commands include: [1]
- ECHO - Displays text on the screen
- @ECHO OFF - Hides the text that is normally output
- START - Start a program, command, or script in a new window
- REM - Inserts a comment line in the program
- DEL - Delete a file
- CD - Change to a directory
- FOR - Loop a command several times
- IF - Conditionally perform a command
- DATE, TIME - Display the date or time
- FIND - Search for a string of text
- MKDIR - Create a directory
- RMDIR - Delete a directory
- DEL - Deletes a file or files
- COPY - Copy a file or files
- XCOPY - Allows you to copy files with extra options
- TITLE- Edit the title of the window
- PAUSE - Pauses the script until the user presses a key
Advertisement -
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:
MKDIR c:\example1 MKDIR c:\example2
-
Write the code to make a basic backup program. Batch files are great for running multiple commands, especially if you configure them 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 files with the "archive" attribute will be copied, /e specifies that all subdirectories in the listed directory will be copied (even if empty), and /y keeps the confirmation message from appearing every time a file is overwritten.[2]
-
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
-
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 with ECHO. For example:
@ECHO OFF MKDIR c:\example1 ECHO Created directory example1
- You can change the color of the output with COLOR bf, where b is the background and f is the foreground color, both hexadecimal numbers. The following colors are possible:
Number Color Number Color 0 black 8 dark grey 1 dark blue 9 blue 2 dark green a green 3 dark turquoise b turquoise 4 dark red c red 5 dark magenta d magenta 6 dark yellow e yellow 7 light grey f white - For example, red text on a dark green background would be displayed with COLOR 2c
- You need to run the batch file from the command line to see the text. Otherwise, the window will close too fast to actually read the text you printed.
- You can change the color of the output with COLOR bf, where b is the background and f is the foreground color, both hexadecimal numbers. The following colors are possible:
-
Experiment with different batch commands. If you want inspiration, you can check out the sample batch text at the end of this article.
Saving and Running a Batch File
-
Write your batch file in Notepad. Once you've completed and proofread your batch file, you can proceed with saving it as an executable file.
-
Click the File menu and select Save 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 might type in Backup.bat here.
-
Select All Files from the "Save as type" menu. This is super important. If you skip this step, your batch file will not be executable, as it will be given the .txt file extension (e.g., Backup.bat.txt) by default.
-
Select a save location and click Save. It's in the bottom-right corner of the Save As window. The window will close.
- 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 pressing Ctrl+S.
-
Open a Command Prompt window. You can do so by pressing the Windows key, typing cmd, and pressing ↵ Enter.
- If your batch file contains commands that must be run with administrator permissions, run Command Prompt as an administrator.
-
Enter the directory containing your batch file. When you open a Command Prompt window, it automatically opens to your user folder on the current Windows system. If you saved your batch file to the desktop, type cd Desktop and press ↵ Enter to enter that directory.
- If you use OneDrive to sync your data to the cloud and have saved your batch file in your Desktop, Documents, or Downloads folder, OneDrive changes your user directory structure.[3] Instead, use cd OneDrive\Desktop, cd OneDrive\Downloads, or cd OneDrive\Documents.
-
Type the name of your batch file and press ↵ Enter to run it. For example, to run a file called Backup.bat in the current directory, just type Backup.bat and press ↵ Enter.
- If you prefer using PowerShell, run the batch file using the command ./Backup.bat instead.
Sample Batch File
Community Q&A
-
QuestionHow can I run multiple batch files?
Community AnswerOpen multiple files at once. But if you really wanted to, you can open other batch files within a batch file as such: start "c:\Users\Xx_balzeitmichael_xX\Documents" random.bat. -
QuestionHow do I open images using a batch file?
David LangrCommunity AnswerYou can do so by typing the following command: start "C:\Path\picture.jpg". -
QuestionHow do I create a batch file?
Arsalan KazmiCommunity AnswerEnter the code in Notepad and then go to File > Save As, click File Type, set it to All Files, then in the Name box, enter name.bat, where 'name' is the name of your batch file.
Video
Tips
-
You will have to use quotes if you want to open a directory or file with spaces in its name (e.g., start "C:\Documents and Settings\").Thanks
-
You can use third-party editors such as Notepad++ to edit your batch file, but for the most part, you won't need to.Thanks
Tips from our Readers
- If anyone sent you a .bat file, DO NOT OPEN IT! Instead, right-click it and hit "Edit" so you can inspect the code to see what's inside.
- You can also make comments by prefacing lines with "::".
Warnings
- Depending on the commands you use, batch files can be dangerous. Make sure that none of your code runs the risk of performing an undesirable task (e.g., deleting files or crashing your computer).Thanks
References
About This Article
1. Learn basic batch commands.
2. Open Notepad.
3. Write your program.
4. Go to File > Save As.
5. Type a name for the file that ends with ".bat"
6. Select All Files from the "Save as type" menu.
7. Click Save.
Reader Success Stories
-
"I was trying to create a batch file to automatically run several files in a particular software. However, I had no idea how to proceed. This page helped me in understanding the basic concepts. Now I can start, thank you!"..." more


















