Windows is a fact of life for most professionals writing code for coporate customers; this series aims to make life with Windows a little easier. Why DOS-style Batch Files? This series will share some conventions I picked up along the way for scripting in Windows via command prompt batch files. As discussed in the previous tutorial, a batch file is an unformatted text file or script file which contains multiple batch file commands or instructions to achieve a certain task. It has extension of.bat or.cmd. Click here to go through the introduction of the batch file before learning batch file commands. Batch file commands: Windows/DOS.
A batch file is a collection of MS-DOS and Windows command line commands used on a computer. If you are familiar with the command line, you can use your prior knowledge to help you create a batch file. If you're new to the command line or need a refresher, see: How to use the Windows command line (DOS).
In this tutorial, you will learn about batch file commands and how they are used in batch file scripting or programming.
As discussed in the previous tutorial, a batch file is an unformatted text file or script file which contains multiple batch file commands or instructions to achieve a certain task. It has extension of .bat
or .cmd
.
Click here to go through the introduction of the batch file before learning batch file commands.
For the ease of learning, we have listed all the batch file commands with relevant examples and explanations below. Please click on the commands to know the details.
ASSOC | ATTRIB | CD | CHKDSK | CHOICE |
CLS | CMD | COMP | CONVERT | COPY |
DATE | DEL | DIR | DISKPART | DRIVERQUERY |
ECHO | EXIT | EXPAND | FC | FIND |
FORMAT | HELP | IPCONFIG | LABEL | MD |
MORE | MOVE | NET | PAUSE | PING |
RD | REM | REN | SET | SHUTDOWN |
SORT | START | SYSTEMINFO | TASKKILL | TASKLIST |
TIME | TITLE | TREE | TYPE | VER |
VOL | XCOPY |
Note: Batch file commands are not case sensitive
The batch command ASSOC
associates a file extension with a file type, or list all associations.
Example
Output
As shown in above output, it displays the file association for .txt
extension.
If only ASSOC
is written and executed, it will display all the file associations for every extension, instead of just .txt
extension.
The batch command ATTRIB
is used to display the file attributes or set an attribute to a file in the working directory.
Example
Now let us suppose we have a file note.txt
in our working directory. We will display its file attributes and then make it hidden and read only by adding 'ah'
and 'r'
attributes to it. And finally, we will remove some attributes we added as well.
Output
Here in this output, A means Archived, R means Read only and AH means Hidden file.
The batch command CD
helps in navigating through different directories and changing directories or displaying current directory.
Example
Output
The batch command CHKDSK
is used for checking error in the disk.
Example
The batch command CHOICE
provides a list of options to the user.
Example
Output
Now that script will produce following output.
Now the console waits for your input and once you enter your answer it will terminate.
The batch command CLS
clears the screen.
Example
This command just clears all the logs in command prompt screen.
The batch command CMD
invokes a new command prompt window.
Example
The batch command COMP
compares the size of two files and checks if they are different in size.
Example
The batch command CONVERTS
the volumes or drives from one format to another i.e from FAT to NTFS.
Example
The batch command COPY
is used for copying files from one location to another.
Example
The batch command DATE
displays the current date in the system.
Example
Output
This command DATE displays system date in command prompt as shown above.
The batch command DEL
is used for deleting files.
Example
Note: DEL command only deletes files, not directories.
The batch command DIR
lists all the contents of directories.
Example
The batch command DISKPART
shows the properties of a disk partition.
Example
This script will ask for users permission to check the properties of disk partition and if allowed, will display following output in the console depending on disk properties.
The batch command DRIVERQUERY
displays all the drivers installed and their properties.
Example
Output
This output shows the fraction of drivers list with their properties and installed date. DRIVERQUERY
command shows all the drivers list, which is huge.
The batch command ECHO
is used for echoing commands on/off and printing message to the console.
Example
Output
This command ECHO displays Hello in the console as shown above.
Besides printing message, echo
is also used for deciding whether or not to display the command itself. Like in this example as well, in the first line we have turned OFF echo, which makes sure that commands themselves are not printed.
If that echo wasn’t turned off, then the output would have been like:
The batch command EXIT
terminates and exits the console.
Example
In this example, as soon as HI
is printed in the console, EXIT
command will terminate the program and close the output console.
The batch command EXPAND
extracts the contents of .cab
file.
Example
This script will extract all the contents of xyz.cab
file to the same location where xyz.cab
is located.
The batch command FC
finds the difference between the two files and displays them to console.
Example
This script will find the difference in the content of both files and list out all of them.
The batch command FIND
search the given file to find the desired string and if located, it displays the corresponding line in which the string exists.
Example
This script will search for the string “find me” in example.txt file and if it exists in example.txt, it will display the corresponding line on the console.
The batch command FORMAT
is used for formatting a drive of format FAT 16/32 or NTFS in Windows.
Example
This script will format E drive and overwrite previous contents.
This might be the one of the most important batch file commands because with this HELP
command we can know about all the other commands used in batch file or command prompt.
Example
Now this will display all the available commands with their functionalities in the console.
Since the list of commands is so much more, we have sliced the list and shown few here.
Now that we have a list of batch file commands, we can also view details of their syntax and functionalities in following way:
Now this will display details of the copy command.
As you can see, it HELP COPY
displays all the details about COPY
command.
The batch command IPCONFIG
displays Windows IP configuration.
Example
This script will generate following output.
P.S: We have hidden iPV6 address in above output.
The batch command LABEL
displays the label of a drive or volume and is also is used for adding, setting or removing a disk label.
Example
Now this will display the label of your working directory and you can set, remove or add another label.
For example, my working directory is D: and has label ‘apps’. So, it will generate following output:
The batch command MD
creates a new directory or folder in the working directory.
Example
This program will create a new directory abc in current working location.
The batch command MORE
displays the content of a file one by one.
Example
This program will display the contents of example.txt line by line, one at a time.
This batch command moves files from one directory to another, rename the directories and move the directories as well.
Example
In this way, MOVE
command can be used to move files, directories and rename directories.
The batch command NET
is used for many network functionalities depending upon the commands used.
Example
To display the users:
This will generate following output:
Like users, there are many other commands:
The batch command PATH
displays the path variable or it can be used to set path variable.
Example
This program will display the path of the current working directory.
The batch command PAUSE
is used for holding the output screen till user enters a variable or a value.
Example
This program will print hi in the console and show the message ‘Press any key to continue..’ and wait for the input from the user.
The batch command PING
is used for sending ICMP/IP packets to the designated address over the network.
Example
Output
This script will send packets to address 127.0.1.1 and output will be displayed as follows:
The batch command RD
is used for removing the empty directories, directories with contents or files inside cannot be removed with RD
command.
Example
The batch command REM
signifies comments in the batch script.
Example
Anything written after REM
is interpreted as a comment and is not executed in batch programs.
The batch command REN
is used for renaming files and directories.
Example
The batch command SET
displays the list of environment variables of the system.
Example
The batch command SHUTDOWN
when invoked, shuts down the computer.
Example
The batch command SORT
is used to sort the content of the file alphabetically.
Example
This script will sort the content of example.txt alphabetically either in ascending or descending order.
The batch command START
is used to open a file or start a new program.
Example
This program will start the application paint if it is in the working location, else you will have to explicitly indicate the path of that program as well.
The batch command SYSTEMINFO
displays all the configuration of the computer and operating system.
Example
This will generate following output depending upon the computer:
Of course, the details will be much more than this, but please try and look on your PC.
The batch command TASKKILL
is used to terminate a running task
Example
If you were to terminate the notepad running in your PC, then following script is used.
The batch command TASKLIST
lists all the running tasks in the console.
Example
The batch command TIME
is used to display or set the system time.
Example
Output
The current time is displayed in the console.
The batch command TITLE
sets new title for output console.
Example
This script will set the title of output console to ‘New Console’. Thus the output console will look like:
The batch command TREE
displays the tree diagram of the subdirectories to the last level.
Example
I have a folder movies. SO, if I were to run TREE
in that movie folder, it will create a tree of movies inside that folder and also the subdirectories where there is movie file and subtitle file.
Output
This script will generate following output.
The batch command TYPE
is used for displaying the content of a file to an output console.
Example
This program will display all the contents of notes.txt
to the console.
The batch command VER
displays the version of Windows or MS-DOS.
Example
Output
The batch command VOL
displays the current volume label of Windows.
Example
Output
The batch command XCOPY
is similar to COPY
command but COPY
command copies single file whereas XCOPY
command copies entire directories including subdirectories.
Example
This script will copy test.txt from D drive to E drive.
So, these are the batch file commands along with examples.
We hope you find these batch file commands easy to learn. We will discuss more advanced concepts in next tutorials.
Below are steps on how to make a batch file on any computer running a Microsoft operating system (e.g., MS-DOS or any version of Windows).
In Windows, you can create a batch file using the steps below or the steps mentioned in the MS-DOS command line section. If you are more comfortable with Microsoft Windows, you can use any text editor (such as Notepad or WordPad) to create your batch files. As long as the file extension ends with .bat. In the example below, we use the Windows Notepad to create a batch file.
See our what commands are available in a batch file page for commands that can be added to a batch file.
To create a batch file in MS-DOS or the Windows command line, follow the steps below.
New versions of Windows or computers running a 64-bit version of Windows no longer support the edit command, which means these steps no longer work. Use the above steps if you are running the latest version of Windows.
If you want to add more lines to this batch file, type edit test.bat to open the file for editing.
Additional information about the MS-DOS edit command is on our edit command page. Some versions of MS-DOS and bootable diskettes may not have the edit command. If this the case, you would either need to obtain the edit.com file or use the copy con command.
TipSee our what commands are available in a batch file page for commands that can be added to a batch file.