DOS CommandsOver the years there have been many versions of DOS, including PC-DOS, MS-DOS, DR-DOS, and 4DOS.

Although DOS is not used frequently any more, the DOS commands are still available in the Microsoft Windows XP command shell.

Listed below are the commands for the DOS command shell included with Microsoft Windows XP.

DOS Commands

ASSOC

Displays or modifies file extension associations

Syntax
ASSOC [.ext[=[fileType]]]

.ext – Specifies the file extension to associate the file type with
fileType – Specifies the file type to associate with the file extension

Type ASSOC without parameters to display the current file associations. If ASSOC is invoked with just a file extension, it displays the current file association for that file extension. Specify nothing for the filetype and the command will delete the association for the file extension.

AT

The AT command schedules commands and programs to run on a computer at a specified time and date. The Schedule service must be running to use the AT command.

Syntax
AT [computername] [ [id] [/DELETE] | /DELETE [/YES]]
OR
AT [computername] time [/INTERACTIVE] [ /EVERY:date[,…] | /NEXT:date[,…]] "command"

computername – Specifies a remote computer. Commands are scheduled on the local computer if this parameter is omitted.
Id – Is an identification number assigned to a scheduled command.
/delete – Cancels a scheduled command. If id is omitted, all the scheduled commands on the computer are canceled.
/yes – Used with cancel all jobs command when no further confirmation is desired.
time – Specifies the time when command is to run.
/interactive – Allows the job to interact with the desktop of the user who is logged on at the time the job runs.
/every:date[,…] – Runs the command on each specified day(s) of the week or month. If date is omitted, the current day of the month is assumed.
/next:date[,…] – Runs the specified command on the next occurrence of the day (for example, next Thursday). If date is omitted, the current day of the month is assumed.
"command" – Is the Windows NT command, or batch program to be run.

ATTRIB

Displays or changes file attributes.

Syntax
ATTRIB [+R | -R] [+A | -A ] [+S | -S] [+H | -H] [+I | -I] [drive:][path][filename] [/S [/D] [/L]]

+ – Sets an attribute.
– – Clears an attribute.
R – Read-only file attribute.
A – Archive file attribute.
S – System file attribute.
H – Hidden file attribute.
I – Not content indexed file attribute.
[drive:][path][filename] – Specifies a file or files for attrib to process.
/S – Processes matching files in the current folder and all subfolders.
/D – Processes folders as well.
/L – Work on the attributes of the Symbolic Link versus the target of the Symbolic Link

BREAK

Sets or Clears Extended CTRL+C checking on DOS system.

This is present for Compatibility with DOS systems. It has no effect under Windows.

CACLS

NOTE: Cacls is now deprecated, please use Icacls.
Displays or modifies access control lists (ACLs) of files

Syntax
CACLS filename [/T] [/M] [/L] [/S[:SDDL]] [/E] [/C] [/G user:perm] [/R user […]] [/P user:perm […]] [/D user […]]

Filename – Displays ACLs.
/T – Changes ACLs of specified files in the current directory and all subdirectories.
/L – Work on the Symbolic Link itself versus the target
/M – Changes ACLs of volumes mounted to a directory
/S – Displays the SDDL string for the DACL.
/S:SDDL – Replaces the ACLs with those specified in the SDDL string (not valid with /E, /G, /R, /P, or /D).
/E – Edit ACL instead of replacing it.
/C -Continue on access denied errors.
/G user:perm – Grant specified user access rights. Perm can be: R Read, W Write, C Change (write), F Full control.
/R user – Revoke specified user's access rights (only valid with /E).
/P user:perm – Replace specified user's access rights. Perm can be: N None, R Read, W Write, C Change (write), F Full control
/D user – Deny specified user access.

CALL

Calls one batch program from another.

Syntax
CALL [drive:][path]filename [batch-parameters]

batch-parameters – Specifies any command-line information required by the batch program.

CD

Displays the name of or changes the current directory.

Syntax
CHDIR [/D] [drive:][path] OR CHDIR [..] OR CD [/D] [drive:][path] OR CD [..]

.. – Specifies that you want to change to the parent directory.
Type CD drive: to display the current directory in the specified drive.
Type CD without parameters to display the current drive and directory.
Use the /D switch to change current drive in addition to changing current directory for a drive.

CHCP

Displays or sets the active code page number.

Syntax
CHCP [nnn]

Nnn – Specifies a code page number.
Type CHCP without a parameter to display the active code page number.

CHDIR

It is similar to the CD command.

CHKDSK

Checks a disk and displays a status report.

Syntax
CHKDSK [volume[[path]filename]]] [/F] [/V] [/R] [/X] [/I] [/C] [/L[:size]] [/B]

Volume – Specifies the drive letter (followed by a colon), mount point, or volume name.
filename – FAT/FAT32 only: Specifies the files to check for fragmentation.
/F – Fixes errors on the disk.
/V – Displays the full path and name of every file on the disk.
/R – Locates bad sectors and recovers readable information (implies /F).
/L:size – NTFS only: Changes the log file size to the specified number of kilobytes. If size is not specified, displays current size.
/X – Forces the volume to dismount first if necessary. All opened handles to the volume would then be invalid (implies /F).
/I – NTFS only: Performs a less vigorous check of index entries.
/C – NTFS only: Skips checking of cycles within the folder structure.
/B – NTFS only: Re-evaluates bad clusters on the volume (implies /R).
The /I or /C switch reduces the amount of time required to run Chkdsk by skipping certain checks of the volume.

CHKNTFS

Displays or modifies the checking of disk at boot time.

CLS

Clears the screen.

CMD

Starts a new instance of the Windows command interpreter

Syntax
CMD [/A | /U] [/Q] [/D] [/E:ON | /E:OFF] [/F:ON | /F:OFF] [/V:ON | /V:OFF] [[/S] [/C | /K] string]

/C – Carries out the command specified by string and then terminates
/K – Carries out the command specified by string but remains
/S – Modifies the treatment of string after /C or /K (see below)
/Q – Turns echo off
/D – Disable execution of AutoRun commands from registry (see below)
/A – Causes the output of internal commands to a pipe or file to be ANSI
/U – Causes the output of internal commands to a pipe or file to be Unicode
/T:fg – Sets the foreground/background colors (see COLOR /? for more info)
/E:ON – Enable command extensions (see below)
/E:OFF – Disable command extensions (see below)
/F:ON – Enable file and directory name completion characters (see below)
/F:OFF – Disable file and directory name completion characters (see below)
/V:ON – Enable delayed environment variable expansion using ! as the delimiter. For example, /V:ON would allow !var! to expand the variable var at execution time. The var syntax expands variables at input time, which is quite a different thing when inside of a FOR loop.
/V:OFF – Disable delayed environment expansion.

COLOR

Sets the default console foreground and background colors.

Syntax
COLOR [attr]

attr – Specifies color attribute of console output

Color attributes are specified by TWO hex digits — the first corresponds to the background; the second the foreground. Each digit can be any of the following values:

   0 = Black      8 = Gray

   1 = Blue      9 = Light Blue

   2 = Green      A = Light Green

   3 = Aqua      B = Light Aqua

   4 = Red      C = Light Red

   5 = Purple      D = Light Purple

   6 = Yellow     E = Light Yellow

   7 = White      F = Bright White

If no argument is given, this command restores the color to what it was when CMD.EXE started. This value either comes from the current console window, the /T command line switch or from the DefaultColor registry value.

COMP

Compares the contents of two files or sets of files.

Syntax
COMP [data1] [data2] [/D] [/A] [/L] [/N=number] [/C] [/OFF[LINE]]

data1 – Specifies location and name(s) of first file(s) to compare.
data2 – Specifies location and name(s) of second files to compare.
/D – Displays differences in decimal format.
/A – Displays differences in ASCII characters.
/L – Displays line numbers for differences.
/N=number – Compares only the first specified number of lines in each file.
/C – Disregards case of ASCII letters when comparing files.
/OFF[LINE] – Do not skip files with offline attribute set.

To compare set of files, use wildcards in data1 and data2 parameters.

COMPACT

Displays or alters the compression of files on NTFS partitions.

Syntax
COMPACT [/C | /U] [/S[:dir]] [/A] [/I] [/F] [/Q] [filename […]]

/C – Compresses the specified files. Directories will be marked so that files added afterward will be compressed.
/U – Uncompresses the specified files. Directories will be marked so that files added afterward will not be compressed.
/S – Performs the specified operation on files in the given directory and all subdirectories. Default "dir" is the current directory.
/A – Displays files with the hidden or system attributes. These files are omitted by default.
/I – Continues performing the specified operation even after errors have occurred. By default, COMPACT stops when an error is encountered.
/F – Forces the compress operation on all specified files, even those which are already compressed. Already-compressed files are skipped by default.
/Q – Reports only the most essential information.
filename – Specifies a pattern, file, or directory.

Note: Used without parameters, COMPACT displays the compression state of the current directory and any files it contains. You may use multiple filenames and wildcards. You just put spaces between multiple parameters.

CONVERT

Converts a FAT volume to NTFS.

Syntax
CONVERT volume /FS:NTFS [/V] [/CvtArea:filename] [/NoSecurity] [/X]

Volume – Specifies the drive letter (followed by a colon), mount point, or volume name.
/FS:NTFS – Specifies that the volume will be converted to NTFS.
/V – Specifies that Convert will be run in verbose mode.
/CvtArea:filename – Specifies a contiguous file in the root directory that will be the place holder for NTFS system files.
/NoSecurity – Specifies that the security settings on the converted files and directories allow access by all users.
/X – Forces the volume to dismount first if necessary.

Note: All open handles to the volume will not be valid.

COPY

Copies one or more files to another location.

Syntax
COPY [/D] [/V] [/N] [/Y | /-Y] [/Z] [/L] [/A | /B ] source [/A | /B] [+ source [/A | /B] [+ …]] [destination [/A | /B]]

Source – Specifies the file or files to be copied.
/A – Indicates an ASCII text file.
/B – Indicates a binary file.
/D -Allow the destination file to be created decrypted destination Specifies the directory and/or filename for the new file(s).
/V – Verifies that new files are written correctly.
/N – Uses short filename, if available, when copying a file with a non-8dot3 name.
/Y – Suppresses prompting to confirm you want to overwrite an existing destination file.
/-Y – Causes prompting to confirm you want to overwrite an existing destination file.
/Z – Copies networked files in restartable mode.
/L – If the source is a symbolic link, copy the link to the target instead of the actual file the source link points to.

DATE

Displays or sets the date.

Syntax
DATE [/T | date]

Type DATE without parameters to display the current date setting and a prompt for a new one. Press ENTER to keep the same date. If Command Extensions are enabled the DATE command supports the /T switch which tells the command to just output the current date, without prompting for a new date.

DEL

Deletes one or more files.

Syntax
DEL [/P] [/F] [/S] [/Q] [/A[[:]attributes]] names
OR
ERASE [/P] [/F] [/S] [/Q] [/A[[:]attributes]] names

Names – Specifies a list of one or more files or directories. Wildcards may be used to delete multiple files. If a directory is specified, all files within the directory will be deleted.
/P – Prompts for confirmation before deleting each file.
/F – Force deleting of read-only files.
/S – Delete specified files from all subdirectories.
/Q – Quiet mode, do not ask if ok to delete on global wildcard
/A – Selects files to delete based on attributes
R Read-only files, S System files, H Hidden files, A Files ready for archiving, I Not content indexed Files, L Reparse Points

DIR

Displays a list of files and subdirectories in a directory.

Syntax
DIR [drive:][path][filename] [/A[[:]attributes]] [/B] [/C] [/D] [/L] [/N] [/O[[:]sortorder]] [/P] [/Q] [/R] [/S] [/T[[:]timefield]] [/W] [/X] [/4]

[drive:][path][filename] – Specifies drive, directory, and/or files to list.
/A – Displays files with specified attributes.
D Directories, R Read-only files, H Hidden files, A Files ready for archiving, S System files, I Not content indexed files, L Reparse Points
/B – Uses bare format (no heading information or summary).
/C – Display the thousand separators in file sizes. This is the default. Use /-C to disable display of separator.
/D – Same as wide but files are list sorted by column.
/L – Uses lowercase.
/N – New long list format where filenames are on the far right.
/O – List by files in sorted order. N By name (alphabetic), S By size (smallest first), E By extension (alphabetic), D By date/time (oldest first), G Group directories first
/P – Pauses after each screenful of information.
/Q – Display the owner of the file.
/R – Display alternate data streams of the file.
/S – Displays files in specified directory and all subdirectories.
/T – Controls which time field displayed or used for sorting
/W – Uses wide list format.
/X – This displays the short names generated for non-8dot3 file names. The format is that of /N with the short name inserted before the long name. If no short name is present, blanks are displayed in its place.
/4 – Displays four-digit years.

DISKCOMP

Compares the contents of two floppy disks.

Syntax
DISKCOMP [drive1: [drive2:]]

DISKCOPY

Copies the contents of one floppy disk to another.

Syntax
DISKCOPY [drive1: [drive2:]] [/V]

/V – Verifies that the information is copied correctly. The two floppy disks must be the same type. You may specify the same drive for drive1 and drive2.

DOSKEY

Edits command lines, recalls Windows commands, and creates macros.

Syntax
DOSKEY [/REINSTALL] [/LISTSIZE=size] [/MACROS[:ALL | :exename]] [/HISTORY] [/INSERT | /OVERSTRIKE] [/EXENAME=exename] [/MACROFILE=filename] [macroname=[text]]

/REINSTALL – Installs a new copy of Doskey.
/LISTSIZE=size – Sets size of command history buffer.
/MACROS – Displays all Doskey macros.
/MACROS:ALL – Displays all Doskey macros for all executables which have Doskey macros. /MACROS:exename – Displays all Doskey macros for the given executable.
/HISTORY – Displays all commands stored in memory.
/INSERT – Specifies that new text you type is inserted in old text.
/OVERSTRIKE – Specifies that new text overwrites old text.
/EXENAME=exename – Specifies the executable.
/MACROFILE=filename – Specifies a file of macros to install.
macroname – Specifies a name for a macro you create.
text – Specifies commands you want to record.

ECHO

Displays messages, or turns command-echoing on or off.

Syntax
ECHO [ON | OFF] OR ECHO [message]

Type ECHO without parameters to display the current echo setting.

ENDLOCAL

Ends localization of environment changes in a batch file. Environment changes made after ENDLOCAL has been issued are not local to the batch file; the previous settings are not restored on termination of the batch file.

Syntax
ENDLOCAL

If Command Extensions are enabled ENDLOCAL changes as follows: If the corresponding SETLOCAL enable or disabled command extensions using the new ENABLEEXTENSIONS or DISABLEEXTENSIONS options, then after the ENDLOCAL, the enabled/disabled state of command extensions will be restored to what it was prior to the matching SETLOCAL command execution.

ERASE

It is similar to the DELETE command.

EXIT

Quits the CMD.EXE program (command interpreter) or the current batch script.

Syntax
EXIT [/B] [exitCode]

/B – specifies to exit the current batch script instead of CMD.EXE. If executed from outside a batch script, it will quit CMD.EXE
exitCode – specifies a numeric number. if /B is specified, sets ERRORLEVEL that number. If quitting CMD.EXE, sets the process exit code with that number.

FC

Compares two files or a set of files and displays the differences between them.

Syntax
FC [/A] [/C] [/L] [/LBn] [/N] [/OFF[LINE]] [/T] [/U] [/W] [/nnnn] [drive1:][path1]filename1 [drive2:][path2]filename2 FC /B [drive1:][path1]filename1 [drive2:][path2]filename2

/A – Displays only first and last lines for each set of differences.
/B – Performs a binary comparison.
/C – Disregards the case of letters.
/L – Compares files as ASCII text.
/LBn – Sets the maximum consecutive mismatches to the specified number of lines.
/N – Displays the line numbers on an ASCII comparison.
/OFF[LINE] – Do not skip files with offline attribute set.
/T – Does not expand tabs to spaces.
/U – Compare files as UNICODE text files.
/W – Compresses white space (tabs and spaces) for comparison.
/nnnn – Specifies the number of consecutive lines that must match after a mismatch. [drive1:][path1] filename1 – Specifies the first file or set of files to compare.
[drive2:][path2] filename2 – Specifies the second file or set of files to compare.

FIND

Searches for a text string in a file or files.

Syntax
FIND [/V] [/C] [/N] [/I] [/OFF[LINE]] "string" [[drive:][path]filename[ …]]

/V – Displays all lines NOT containing the specified string.
/C – Displays only the count of lines containing the string.
/N -Displays line numbers with the displayed lines.
/I – Ignores the case of characters when searching for the string.
/OFF[LINE] – Do not skip files with offline attribute set.
"string" – Specifies the text string to find.
[drive:][path]filename – Specifies a file or files to search.

FINDSTR

Searches for strings in files.

Syntax
FINDSTR [/B] [/E] [/L] [/R] [/S] [/I] [/X] [/V] [/N] [/M] [/O] [/P] [/F:file] [/C:string] [/G:file] [/D:dir list] [/A:color attributes] [/OFF[LINE]] strings [[drive:][path]filename[ …]]

/B – Matches pattern if at the beginning of a line.
/E – Matches pattern if at the end of a line.
/L – Uses search strings literally.
/R – Uses search strings as regular expressions.
/S – Searches for matching files in the current directory and all subdirectories.
/I – Specifies that the search is not to be case-sensitive.
/X – Prints lines that match exactly.
/V – Prints only lines that do not contain a match.
/N – Prints the line number before each line that matches.
/M – Prints only the filename if a file contains a match.
/O – Prints character offset before each matching line.
/P – Skip files with non-printable characters.
/OFF[LINE] – Do not skip files with offline attribute set.
/A:attr – Specifies color attribute with two hex digits. See "color /?"
/F:file – Reads file list from the specified file(/ stands for console).
/C:string – Uses specified string as a literal search string.
/G:file – Gets search strings from the specified file(/ stands for console).
/D:dir – Search a semicolon delimited list of directories
strings – Text to be searched for.
[drive:][path]filename – Specifies a file or files to search.

FOR

Runs a specified command for each file in a set of files.

Syntax
FOR %variable IN (set) DO command [command-parameters]

%variable – Specifies a single letter replaceable parameter.
(set) – Specifies a set of one or more files.Wildcards may be used.
command – Specifies the command to carry out for each file.
command-parameters – Specifies parameters or switches for the specified command.

To use the FOR command in a batch program, specify %%variable instead of %variable. Variable names are case sensitive, so %i is different from %I.

FORMAT

Formats a disk for use with Windows.

Syntax
FORMAT volume [/FS:file-system] [/V:label] [/Q] [/A:size] [/C] [/X] [/P:passes]
OR
FORMAT volume [/V:label] [/Q] [/F:size] [/P:passes]

OR
FORMAT volume [/V:label] [/Q] [/T:tracks /N:sectors] [/P:passes]
OR
FORMAT volume [/V:label] [/Q] [/P:passes]
OR
FORMAT volume [/Q]

Volume – Specifies the drive letter (followed by a colon), mount point, or volume name.
/FS:filesystem – Specifies the type of the file system (FAT, FAT32, exFAT, NTFS or UDF). /V:label – Specifies the volume label.
/Q – Performs a quick format. Note that this switch overrides /P.
/C – NTFS only: Files created on the new volume will be compressed by default.
/X – Forces the volume to dismount first if necessary. All opened handles to the volume would no longer be valid.
/R:revision – UDF only: Forces the format to a specific UDF version (1.02, 1.50, 2.00, 2.01, 2.50). The default revision is 2.01.
/D – UDF 2.50 only: Metadata will be duplicated.
/A:size – Overrides the default allocation unit size. Default settings are strongly recommended for general use. NTFS supports 512, 1024, 2048, 4096, 8192, 16K, 32K, 64K. FAT supports 512, 1024, 2048, 4096, 8192, 16K, 32K, 64K, (128K, 256K for sector size > 512 bytes). FAT32 supports 512, 1024, 2048, 4096, 8192, 16K, 32K, 64K, (128K, 256K for sector size > 512 bytes). exFAT supports 512, 1024, 2048, 4096, 8192, 16K, 32K, 64K, 128K, 256K, 512K, 1M, 2M, 4M, 8M, 16M, 32M.
/F:size – Specifies the size of the floppy disk to format (1.44)
/T:tracks – Specifies the number of tracks per disk side.
/N:sectors – Specifies the number of sectors per track.
/P:passes – Zero every sector on the volume passes times. This switch is not valid with /Q

FTYPE

Displays or modifies file types used in file extension associations.

Syntax:
FTYPE [fileType[=[openCommandString]]]

fileType – Specifies the file type to examine or change
openCommandString – Specifies the open command to use when launching files of this type.

GOTO

Directs cmd.exe to a labeled line in a batch program.

Syntax:
GOTO label

Label – Specifies a text string used in the batch program as a label. You type a label on a line by itself, beginning with a colon.

GRAFTABL

Enable Windows to display an extended character set in graphics mode.

Syntax:
GRAFTABL [xxx] OR GRAFTABL /STATUS

Xxx – Specifies a code page number.
/STATUS – Displays the current code page selected for use with GRAFTABL.

HELP

Provides help information for Windows commands.

Syntax:
HELP [command]

command – displays help information on that command.

IF

Performs conditional processing in batch programs.

Syntax:
IF [NOT] ERRORLEVEL number command
OR
IF [NOT] string1==string2 command
OR
IF [NOT] EXIST filename command

NOT – Specifies that Windows should carry out the command only if the condition is false.ERRORLEVEL – number Specifies a true condition if the last program run returned an exit code equal to or greater than the number specified.
string1==string2 – Specifies a true condition if the specified text strings match.
EXIST filename – Specifies a true condition if the specified filename exists.
command – Specifies the command to carry out if the condition is met. Command can be followed by ELSE command which will execute the command after the ELSE keyword if the specified condition is FALSE.

LABEL

Creates, changes, or deletes the volume label of a disk.

Syntax:
LABEL [drive:][label] OR LABEL [/MP] [volume] [label]

drive – Specifies the drive letter of a drive.
label -Specifies the label of the volume.
/MP – Specifies that the volume should be treated as a mount point or volume name. volume – Specifies the drive letter (followed by a colon), mount point, or volume name.If volume name is specified, the /MP flag is unnecessary.

MD

Creates a directory.

Syntax:
MKDIR [drive:]path OR MD [drive:]path

MKDIR

It is similar to the MD command.

MODE

Configures system devices.

Syntax:
(Serial port) MODE COMm[:] [BAUD=b] [PARITY=p] [DATA=d] [STOP=s][to=on|off] [xon=on|off] [odsr=on|off] [octs=on|off] [dtr=on|off|hs][rts=on|off|hs|tg] [idsr=on|off]
OR
(Device Status) MODE [device] [/STATUS]
OR
(Redirect printing) MODE LPTn[:]=COMm[:]
OR
(Select code page) MODE CON[:] CP SELECT=yyy
OR
(Code page status) MODE CON[:] CP [/STATUS]
OR
(Display mode) MODE CON[:] [COLS=c] {LINES=n]
OR
(Typematic rate) MODE CON[:] [RATE=r DELAY=d]

MORE

Displays output one screen at a time.

Syntax:
MORE [/E [/C] [/P] [/S] [/Tn] [+n]] < [drive:][path]filename command-name
OR
MORE [/E [/C] [/P] [/S] [/Tn] [+n]]
OR
MORE /E [/C] [/P] [/S] [/Tn] [+n] [files]

[drive:][path]filename – Specifies a file to display one screen at a time.
command-name – Specifies a command whose output will be displayed.
/E – Enable extended features
/C – Clear screen before displaying page
/P – Expand FormFeed characters
/S – Squeeze multiple blank lines into a single line
/Tn – Expand tabs to n spaces (default 8)
Switches can be present in the MORE environment variable.
+n – Start displaying the first file at line n.
files – List of files to be displayed. Files in the list are separated by blanks.

MOVE

Moves files and renames files and directories.

Syntax:

To move one or more files: MOVE [/Y | /-Y] [drive:][path]filename1[,…] destination

To rename a directory: MOVE [/Y | /-Y] [drive:][path]dirname1 dirname2

[drive:][path]filename1 – Specifies the location and name of the file or files you want to move.
destination – Specifies the new location of the file. Destination can consist of a drive letter and colon, a directory name, or a combination. If you are moving only one file, you can also include a filename if you want to rename the file when you move it.
[drive:][path]dirname1 – Specifies the directory you want to rename.
dirname2 – Specifies the new name of the directory.
/Y – Suppresses prompting to confirm you want to overwrite an existing destination file.
/-Y – Causes prompting to confirm you want to overwrite an existing destination file.

The switch /Y may be present in the COPYCMD environment variable. This may be overridden with /-Y on the command line. Default is to prompt on overwrites unless MOVE command is being executed from within a batch script.

PATH

Displays or sets a search path for executable files.

Syntax:
PATH [[drive:]path[;…][;%PATH%]
OR
PATH ;

Type PATH – to clear all search-path settings and direct cmd.exe to search only in the current directory.
Type PATH without parameters to display the current path. Including %PATH% in the new path setting causes the old path to be appended to the new setting.

PAUSE

Suspends processing of a batch file and displays a message.

POPD

Changes to the directory stored by the PUSHD command.

Syntax:
POPD

If Command Extensions are enabled the POPD command will delete any temporary drive letter created by PUSHD when you POPD that drive off the pushed directory stack.

PRINT

Prints a text file.

Syntax:
PRINT [/D:device] [[drive:][path]filename[…]]

/D:device – Specifies a print device.

PROMPT

Changes the cmd.exe command prompt.

Syntax:
PROMPT [text]

Text – Specifies a new command prompt. Prompt can be made up of normal characters and the following special codes:
$A  & (Ampersand)
$B  | (pipe)
$C  ( (Left parenthesis)
$D  Current date
$E  Escape code (ASCII code 27)
$F  ) (Right parenthesis)
$G  > (greater-than sign)
$H  Backspace (erases previous character)
$L  < (less-than sign)
$N  Current drive
$P  Current drive and path
$Q  = (equal sign)
$S  space)
$T  Current time
$V  Windows version number
$_  Carriage return and linefeed
$$  $ (dollar sign)

PUSHD

Stores the current directory for use by the POPD command, then changes to the specified directory.

Syntax:
PUSHD [path | ..]

path – Specifies the directory to make the current directory.

RD

Removes (deletes) a directory.

Syntax:
RMDIR [/S] [/Q] [drive:]path OR RD [/S] [/Q] [drive:]path

/S – Removes all directories and files in the specified directory in addition to the directory itself. Used to remove a directory tree.
/Q – Quiet mode, do not ask if ok to remove a directory tree with /S

RECOVER

Recovers readable information from a bad or defective disk.

Syntax:
RECOVER [drive:][path]filename

Consult the online Command Reference in Windows Help before using the RECOVER command.

REM

Records comments (remarks) in a batch file or CONFIG.SYS.

Syntax:
REM [comment]

REN

Renames a file or files.

Syntax:
RENAME [drive:][path]filename1 filename2
OR
REN [drive:][path]filename1 filename2.

Note that you cannot specify a new drive or path for your destination file.

RENAME

It is similar to the REN command.

REPLACE

Replaces files.

Syntax:
REPLACE [drive1:][path1]filename [drive2:][path2] [/A] [/P] [/R] [/W]
OR
REPLACE [drive1:][path1]filename [drive2:][path2] [/P] [/R] [/S] [/W] [/U]

[drive1:][path1]filename – Specifies the source file or files.
[drive2:][path2] – Specifies the directory where files are to be replaced.
/A – Adds new files to destination directory. Cannot use with /S or /U switches.
/P – Prompts for confirmation before replacing a file or adding a source file.
/R – Replaces read-only files as well as unprotected files.
/S – Replaces files in all subdirectories of the destination directory. Cannot use with the /A switch.
/W – Waits for you to insert a disk before beginning.
/U – Replaces (updates) only files that are older than source files. Cannot use with the /A switch.

RMDIR

Removes (deletes) a directory.

Syntax:
RMDIR [/S] [/Q] [drive:]path OR RD [/S] [/Q] [drive:]path

/S – Removes all directories and files in the specified directory in addition to the directory itself. Used to remove a directory tree.
/Q – Quiet mode, do not ask if ok to remove a directory tree with /S

SET

Displays, sets, or removes cmd.exe environment variables.

Syntax:
SET [variable=[string]]

Variable – Specifies the environment-variable name.
string – Specifies a series of characters to assign to the variable.
Type SET without parameters to display the current environment variables.

SETLOCAL

Begins localization of environment changes in a batch file.Environment changes made after SETLOCAL has been issued are local to the batch file. ENDLOCAL must be issued to restore the previous settings. When the end of a batch script is reached, an implied ENDLOCAL is executed for any outstanding SETLOCAL commands issued by that batch script.

Syntax:
SETLOCAL

SHIFT

Changes the position of replaceable parameters in a batch file.

Syntax:
SHIFT [/n]

If Command Extensions are enabled the SHIFT command supports the /n switch which tells the command to start shifting at the nth argument, where n may be between zero and eight. For example: SHIFT /2
would shift %3 to %2, %4 to %3, etc. and leave %0 and %1 unaffected.

SORT

Sorts input.

Syntax:
SORT [/R] [/+n] [/M kilobytes] [/L locale] [/REC recordbytes] [[drive1:][path1]filename1] [/T [drive2:][path2]] [/O [drive3:][path3]filename3]

/+n – Specifies the character number, n, to begin each comparison. /+3 indicates that each comparison should begin at the 3rd character in each line. Lines with fewer than n characters collate before other lines. By default comparisons start at the first character in each line.
/L[OCALE] locale – Overrides the system default locale with the specified one. The ""C"" locale yields the fastest collating sequence and is currently the only alternative. The sort is always case insensitive.
/M[EMORY] kilobytes – Specifies amount of main memory to use for the sort, in kilobytes. The memory size is always constrained to be a minimum of 160 kilobytes. If the memory size is specified the exact amount will be used for the sort, regardless of how much main memory is available. The best performance is usually achieved by not specifying a memory size. By default the sort will be done with one pass (no temporary file) if it fits in the default maximum memory size, otherwise the sort will be done in two passes (with the partially sorted data being stored in a temporary file) such that the amounts of memory used for both the sort and merge passes are equal. The default maximum memory size is 90% of available main memory if both the input and output are files, and 45% of main memory otherwise.
/REC[ORD_MAXIMUM] characters – Specifies the maximum number of characters in a record (default 4096, maximum 65535).
/R[EVERSE] – Reverses the sort order; that is, sorts Z to A, then 9 to 0.
[drive1:][path1]filename1 – Specifies the file to be sorted. If not specified, the standard input is sorted. Specifying the input file is faster than redirecting the same file as standard input.
/T[EMPORARY] – [drive2:][path2] – Specifies the path of the directory to hold the sort's working storage, in case the data does not fit in main memory. The default is to use the system temporary directory.
/O[UTPUT] [drive3:][path3]filename3 – Specifies the file where the sorted input is to be stored.If not specified, the data is written to the standard output. Specifying the output file is faster than redirecting standard output to the same file.

START

Starts a separate window to run a specified program or command.

Syntax:
START ["title"] [/D path] [/I] [/MIN] [/MAX] [/SEPARATE | /SHARED] [/LOW | /NORMAL | /HIGH | /REALTIME | /ABOVENORMAL | /BELOWNORMAL] [/AFFINITY <hex affinity>] [/WAIT] [/B] [command/program] [parameters]

"title" – Title to display inwindow title bar.
path – Starting directory
B – Start application without creating a new window. The application has ^C handling ignored. Unless the application enables ^C processing, ^Break is the only way to interrupt the application
I -The new environment will be the original environment passed to the cmd.exe and not the current environment.
MIN – Start window minimized
MAX – Start window maximized
SEPARATE – Start 16-bit Windows program in separate memory space
SHARED – Start 16-bit Windows program in shared memory space
LOW – Start application in the IDLE priority class
NORMAL – Start application in the NORMAL priority class
HIGH – Start application in the HIGH priority class
REALTIME – Start application in the REALTIME priority class
ABOVENORMAL – Start application in the ABOVENORMAL priority class
BELOWNORMAL – Start application in the BELOWNORMAL priority class
AFFINITY – The new application will have the specified processor affinity mask, expressed as a hexadecimal number.
WAIT – Start application and wait for it to terminate command/program.

NOTE: The SEPERATE and SHARED options are not supported on 64-bit platforms.

SUBST

Associates a path with a drive letter.

Syntax:
SUBST [drive1: [drive2:]path] OR SUBST drive1: /D

drive1: – Specifies a virtual drive to which you want to assign a path.
[drive2:]path – Specifies a physical drive and path you want to assign to a virtual drive.
/D – Deletes a substituted (virtual) drive.

Type SUBST with no parameters to display a list of current virtual drives.

TIME

Displays or sets the system time.

Syntax:
TIME [/T | time]

Type TIME with no parameters to display the current time setting and a prompt for a new one.Press ENTER to keep the same time.

TITLE

Sets the window title for the command prompt window.

Syntax:
TITLE [string]

String – Specifies the title for the command prompt window.

TREE

Graphically displays the folder structure of a drive or path.

Syntax:
TREE [drive:][path] [/F] [/A]

/F –  Display the names of the files in each folder.
/A –  Use ASCII instead of extended characters.

TYPE

Displays the contents of a text file or files.

Syntax:
TYPE [drive:][path]filename

VER

Displays the Windows version.

Syntax:
VER

VERIFY

Tells cmd.exe whether to verify that your files are written correctly to a disk.

Syntax:
VERIFY [ON | OFF]

Type VERIFY without a parameter to display the current VERIFY setting.

VOL

Displays the disk volume label and serial number, if they exist.

Syntax:
VOL [drive:]

XCOPY

Copies files and directory trees.

NOTE: Xcopy is now deprecated, please use Robocopy.

Syntax:
XCOPY source [destination] [/A | /M] [/D[:date]] [/P] [/S [/E]] [/V] [/W] [/C] [/I] [/Q] [/F] [/L] [/G] [/H] [/R] [/T] [/U] [/K] [/N] [/O] [/X] [/Y] [/-Y] [/Z] [/B] [/EXCLUDE:file1[+file2][+file3]…]

Source – Specifies the file(s) to copy.
destination – Specifies the location and/or name of new files.
/A – Copies only files with the archive attribute set, doesn't change the attribute.
/M – Copies only files with the archive attribute set, turns off the archive attribute.
/D:m-d-y – Copies files changed on or after the specified date. If no date is given, copies only those files whose source time is newer than the destination time.
/EXCLUDE:file1[+file2][+file3]… – Specifies a list of files containing strings.Each string should be in a separate line in the files. When any of the strings match any part of the absolute path of the file to be copied, that file will be excluded from being copied.For example, specifying a string like obj or .obj will exclude all files underneath the directory obj or all files with the .obj extension respectively.
/P – Prompts you before creating each destination file.
/S – Copies directories and subdirectories except empty ones.
/E – Copies directories and subdirectories, including empty ones. Same as /S /E. May be used to modify /T.
/V – Verifies the size of each new file.
/W – Prompts you to press a key before copying.
/C – Continues copying even if errors occur.
/I – If destination does not exist and copying more than one file, assumes that destination must be a directory.
/Q – Does not display file names while copying.
/F -Displays full source and destination file names while copying.
/L – Displays files that would be copied.
/G – Allows the copying of encrypted files to destination that does not support encryption.
/H – Copies hidden and system files also.
/R – Overwrites read-only files.
/T – Creates directory structure, but does not copy files. Does not include empty directories or subdirectories. /T /E includes empty directories and subdirectories.
/U – Copies only files that already exist in destination.
/K – Copies attributes. Normal Xcopy will reset read-only attributes.
/N – Copies using the generated short names.
/O -Copies file ownership and ACL information.
/X -Copies file audit settings (implies /O).
/Y – Suppresses prompting to confirm you want to overwrite an existing destination file.
/-Y – Causes prompting to confirm you want to overwrite an existing destination file.
/Z – Copies networked files in restartable mode.
/B – Copies the Symbolic Link itself versus the target of the link.

The switch /Y may be preset in the COPYCMD environment variable. This may be overridden with /-Y on the command line.