Batch file commands


In this tutorial, you will learn about batch file commands and how they are used in batch file scripting or programming.

batch file command

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

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.

 

Note: Batch file commands are not case sensitive

ASSOC


The batch command ASSOC associates a file extension with a file type, or list all associations.

Example

@echo OFF
ASSOC | find ".txt"
pause

Output

.txt = textfile

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.

click here to go back to list of commands

ATTRIB


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.

@echo OFF
:: To display attribute of note.txt
ATTRIB note.txt

:: To make it read only by adding 'r'
ATTRIB +r note.txt
ATTRIB note.txt

:: To make it hidden by adding 'ah'
ATTRIB +ah note.txt
ATTRIB note.txt

:: To remove attribute read only
ATTRIB -r note.txt
ATTRIB note.txt

Output

A        note.txt
A  R     note.txt
A  R  AH note.txt
A     AH note.txt

Here in this output, A means Archived, R means Read only and AH means Hidden file.

click here to go back to list of commands

 

CD


The batch command CD helps in navigating through different directories and changing directories or displaying current directory.

Example

@echo OFF
:: CD without any parameters displays the current working directory
CD
:: Changing to the parent directory one level up
CD..
CD
:: Changing the path to Programs
CD\Programs
CD
pause

Output

C:\Users\abc
C:\Users
C:\Programs

click here to go back to list of commands

CHKDSK


The batch command CHKDSK is used for checking error in the disk.

Example

@echo OFF
CHKDSK

click here to go back to list of commands

CHOICE


The batch command CHOICE provides a list of options to the user.

Example

@echo OFF
ECHO You want coffee?
ECHO Enter Y for yes
ECHO Enter N for no
CHOICE /c YN /m "Yes or No"

Output

Now that script will produce following output.

You want coffee?
Enter Y for yes
Enter N for no
Yes or No [Y,N]?

Now the console waits for your input and once you enter your answer it will terminate.

click here to go back to list of commands

CLS


The batch command CLS clears the screen.

Example

@echo OFF
CLS
pause

This command just clears all the logs in command prompt screen.

click here to go back to list of commands

CMD


The batch command CMD invokes a new command prompt window.

Example

@echo OFF
CMD

click here to go back to list of commands

COMP


The batch command COMP compares the size of two files and checks if they are different in size.

Example

@echo OFF
COMP C:\abc.txt C:\xyz.txt

click here to go back to list of commands

CONVERT


The batch command CONVERTS the volumes or drives from one format to another i.e from FAT to NTFS.

Example

@echo OFF
CONVERT D:\

click here to go back to list of commands

COPY


The batch command COPY is used for copying files from one location to another.

Example

@echo OFF
:: For copying from one drive to another -xyz.txt from D:\ to E:\
COPY D:\xyz.txt E:\

:: If file has whitepace between name - use double quote
COPY "D:\my file.txt" E:\

click here to go back to list of commands

DATE


The batch command DATE displays the current date in the system.

Example

@echo OFF
echo %DATE%

Output

Fri 07/07/2017

This command DATE displays system date in command prompt as shown above.

click here to go back to list of commands

DEL


The batch command DEL is used for deleting files.

Example

@echo OFF
:: To delete a single file xyz.txt
DEL D:\xyz.txt

:: To delete all the files of .txt extensions and ask for confirmation before deleting
DEL /p/s D:\*.txt

:: Remove \p to delete without confirmation
DEL /s D:\*.txt

Note: DEL command only deletes files, not directories.

click here to go back to list of commands

DIR


The batch command DIR lists all the contents of directories.

Example

@echo OFF
:: To list all the contents  of current directory
DIR

:: To list all the hidden files of working directory
DIR /ah

:: To list all files with .php extensions
DIR *.php

DISKPART


The batch command DISKPART shows the properties of a disk partition.

Example

@echo OFF
DISKPART

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.

batch command diskpart

click here to go back to list of commands

DRIVERQUERY


The batch command DRIVERQUERY displays all the drivers installed and their properties.

Example

@echo OFF
DRIVERQUERY

Output

batch file commands - driverquery

This output shows the fraction of drivers list with their properties and installed date. DRIVERQUERY command shows all the drivers list, which is huge.

click here to go back to list of commands

ECHO


The batch command ECHO is used for echoing commands on/off and printing message to the console.

Example

@echo OFF
echo Hello

Output

Hello

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:

C:\> echo Hello
Hello

click here to go back to list of commands

EXIT


The batch command EXIT terminates and exits the console.

Example

@echo OFF
echo HI
EXIT

In this example, as soon as HI is printed in the console, EXIT command will terminate the program and close the output console.

click here to go back to list of commands

EXPAND


The batch command EXPAND extracts the contents of .cab file.

Example

@echo OFF
EXPAND xyz.cab

This script will extract all the contents of xyz.cab file to the same location where xyz.cab is located.

click here to go back to list of commands

FC


The batch command FC finds the difference between the two files and displays them to console.

Example

@echo OFF
FC D:\a.txt D:\b.txt

This script will find the difference in the content of both files and list out all of them.

click here to go back to list of commands

FIND


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

@echo OFF
FIND "find me" example.txt

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.

click here to go back to list of commands

FORMAT


The batch command FORMAT is used for formatting a drive of format FAT 16/32 or NTFS in Windows.

Example

@echo OFF
FORMAT E:\

This script will format E drive and overwrite previous contents.

click here to go back to list of commands

HELP


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

@echo OFF
HELP

Now this will display all the available commands with their functionalities in the console.

batch file command help

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:

@echo OFF

:: Just type help and the command you want to know about
HELP copy

Now this will display details of the copy command.

batch file command help copy

As you can see, it HELP COPY displays all the details about COPY command.

click here to go back to list of commands

IPCONFIG


The batch command IPCONFIG displays Windows IP configuration.

Example

@echo OFF
IPCONFIG

This script will generate following output.

batch file command ipconfig

P.S: We have hidden iPV6 address in above output.

click here to go back to list of commands

LABEL


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

@echo OFF
LABEL

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:

batch file command label

click here to go back to list of commands

MD


The batch command MD creates a new directory or folder in the working directory.

Example

@echo OFF
MD abc

This program will create a new directory abc in current working location.

click here to go back to list of commands

MORE


The batch command MORE displays the content of a file one by one.

Example

@echo OFF
MORE D:\example.txt

This program will display the contents of example.txt line by line, one at a time.

click here to go back to list of commands

MOVE


This batch command moves files from one directory to another, rename the directories and move the directories as well.

Example

@echo OFF
:: To move xyz.txt from dir1 to dir2
MOVE C:\dir1\xyz.txt C:\dir2

:: To rename directory dir1 to dir2
MOVE C:\Program\dir1 C:\Program\dir2

:: To move directory dir1 from D:\ to D:\music
MOVE D:\dir1 D:\music\

In this way, MOVE command can be used to move files, directories and rename directories.

click here to go back to list of commands

NET


The batch command NET is used for many network functionalities depending upon the commands used.

Example

To display the users:

@echo OFF
NET users

This will generate following output:

batch command net

Like users, there are many other commands:

  • net accounts
  • net computer
  • net config
  • net continue
  • net file
  • net group
  • net help
  • net name
  • net pause
  • net print
  • net send
  • net session
  • net share
  • net start
  • net statistics
  • net stop
  • net time
  • net use
  • net view

click here to go back to list of commands

PATH


The batch command PATH displays the path variable or it can be used to set path variable.

Example

@echo OFF
ECHO %PATH%

This program will display the path of the current working directory.

click here to go back to list of commands

PAUSE


The batch command PAUSE is used for holding the output screen till user enters a variable or a value.

Example

@echo OFF
ECHO hi
pause

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.

click here to go back to list of commands

PING


The batch command PING is used for sending ICMP/IP packets to the designated address over the network.

Example

@echo OFF
PING 127.0.1.1

Output

This script will send packets to address 127.0.1.1 and output will be displayed as follows:

Pinging 127.0.1.1 with 32 bytes of data:
Reply from 127.0.1.1: bytes = 32 time<1ms TTL = 128
Reply from 127.0.1.1: bytes = 32 time<1ms TTL = 128

Ping statistics for 127.0.1.1:
Packets: Sent = 2, Received = 2, Lost = 0 (0% loss),
Approximate round trip times in milli-seconds:
Minimum = 0ms, Maximum = 0ms, Average = 0ms

click here to go back to list of commands

RD


The batch command RD is used for removing the empty directories, directories with contents or files inside cannot be removed with RD command.

Example

@echo OFF
:: To remove directory xyz from C:\>
RD C:\xyz

:: To remove multiple directories from working location
RD dir1 dir2

click here to go back to list of commands

REM


The batch command REM signifies comments in the batch script.

Example

@echo OFF
REM This is a comment

Anything written after REM is interpreted as a comment and is not executed in batch programs.

click here to go back to list of commands

REN


The batch command REN is used for renaming files and directories.

Example

@echo OFF
:: To rename x.php to y.php
REN C:\x.php C:\y.php

click here to go back to list of commands

SET


The batch command SET displays the list of environment variables of the system.

Example

@echo OFF
SET

click here to go back to list of commands

SHUTDOWN


The batch command SHUTDOWN when invoked, shuts down the computer.

Example

@echo OFF
SHUTDOWN

click here to go back to list of commands

SORT


The batch command SORT is used to sort the content of the file alphabetically.

Example

@echo OFF
SORT D:\example.txt

This script will sort the content of example.txt alphabetically either in ascending or descending order.

click here to go back to list of commands

START


The batch command START is used to open a file or start a new program.

Example

@echo OFF
START paint.exe

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.

click here to go back to list of commands

SYSTEMINFO


The batch command SYSTEMINFO displays all the configuration of the computer and operating system.

Example

@echo OFF
SYSTEMINFO

This will generate following output depending upon the computer:

batch command systeminfo

Of course, the details will be much more than this, but please try and look on your PC.

click here to go back to list of commands

TASKKILL


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.

@echo OFF
TASKKILL /im notepad.exe

click here to go back to list of commands

TASKLIST


The batch command TASKLIST lists all the running tasks in the console.

Example

@echo OFF
TASKLIST

click here to go back to list of commands

TIME


The batch command TIME is used to display or set the system time.

Example

@echo OFF
ECHO %TIME%

Output

18:01:22:06

The current time is displayed in the console.

click here to go back to list of commands

TITLE


The batch command TITLE sets new title for output console.

Example

@echo OFF
TITLE New Console

This script will set the title of output console to ‘New Console’. Thus the output console will look like:

batch command title

click here to go back to list of commands

TREE


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.

@echo OFF
TREE D:\movies

Output

This script will generate following output.

batch command tree

click here to go back to list of commands

TYPE


The batch command TYPE is used for displaying the content of a file to an output console.

Example

@echo OFF
TYPE C:\notes.txt
pause

This program will display all the contents of notes.txt to the console.

click here to go back to list of commands

VER


The batch command VER displays the version of Windows or MS-DOS.

Example

@echo OFF
VER
pause

Output

Microsoft Windows [Version 10.0.14393]

click here to go back to list of commands

VOL


The batch command VOL displays the current volume label of Windows.

Example

@echo OFF
VOL

Output

Microsoft Windows [Version 10.0.14393]

click here to go back to list of commands

XCOPY


The batch command XCOPY is similar to COPY command but COPY command copies single file whereas XCOPY command copies entire directories including subdirectories.

Example

@echo OFF
XCOPY D:\test.txt to E:\

This script will copy test.txt from D drive to E drive.

click here to go back to list of commands

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.