List of MS-DOS commands

Contents

In the personal computer operating systems MS-DOS and PC DOS, a number of standard system commands were provided for common tasks such as listing files on a disk or moving files. Some commands were built-in to the command interpreter, others existed as transient commands loaded into memory when required. Over the several generations of MS-DOS, commands were added for the additional functions of the operating system. In the current Microsoft Windows operating system a text-mode command prompt window can still be used. Some DOS commands carry out functions equivalent to those in a UNIX system but always with differences in details of the function.

Resident and transient commands

The command interpreter for MS-DOS runs when no application programs are running. When an application exits, if the command interpreter in memory was overwritten, MS-DOS will re-load it from disk. The command interpreter is usually stored in a file called "COMMAND.COM". Some commands are internal and built-into COMMAND.COM, others are stored on disk in the same way as application programs. When the user types a line of text at the operating system command prompt, COMMAND.COM will parse the line, and attempt to match a command name to a built-in command or to the name of an executable program file or batch file on disk. If no match is found, an error message is printed and the command prompt is refreshed.[1]

Resident commands varied slightly between revisions of MS-DOS. Typically, the functions DIR (list directory), ERASE or DEL (erase a file or directory), COPY (copy files), DATE (display or set date), TIME (display or set time), CD (change working directory), MD (make a directory on the current disk), REN (rename a file or directory) and some others were resident in COMMAND.COM.

Transient commands were too large to keep in the command processor, or were less frequently used. Such utility programs would be stored on disk and loaded just like regular application programs, but were distributed with the operating system. Copies of these utility command programs had to be on an accessible disk, either on the current logged-in floppy drive or on the command path set in the command interpreter.

A special type of external, transient command is the batch file, containing a set of commands that are processed as if entered at the command line. Some additional keywords are recognized by the command interpreter COMMAND.COM to make batch files more useful. These commands aren't useful if typed in interactively at the command prompt, but allow flexible processing by a batch file.

Command line arguments

In the list below, commands that can accept more than one filename, or a filename including wildcards (* and ?), are said to accept a filespec parameter. Commands that can accept only a single filename are said to accept a filename parameter. Additionally, zero or more command line switches, or other parameter strings, can be supplied on the command line. Spaces, and symbols such as a "/" or a "-" may be used to allow the command processor to parse the command line into file names, file specifications, and other options.

In DOS commands, unlike Unix, lower-case and capital letters are equivalent for file name specifiers; DOS commands preserve case, but do not require file specifiers to match case. Often parameters or arguments are also independent of case, especially in those programs developed only for DOS. Utility programs that also have versions running under UNIX-like operating systems often use upper and lower case arguments to mean different things. Sometimes a hyphen ("-") may be used instead of a slash ("/"); very early versions of DOS made the setting of the delimiter character a user-controlled option.

Commands which are not built into the command interpreter may follow the same conventions.

For some commands, a UNIX command with similar functions is given. Comparisons are approximate. While many commands are the same across many DOS systems (MS-DOS, PC DOS, DR-DOS, FreeDOS, etc.) some differ in command syntax or name.

Windows command prompt

Microsoft Windows supports a number of commands which may be invoked by typing them in a command window; they are usually similar to their MS-DOS equivalents. Typing help followed by a carriage return at a command prompt will list the commands. File and path names used as arguments may be long, unlike MS-DOS names in "8.3" form, and may contain embedded spaces; names with spaces must be enclosed between a pair of double-quote character (").

Two command-line interfaces can be used in original DOS systems. Since this 16-bit executable is based on the DOS command.com, it does not support all the extended file-name syntax of Windows.

Commands

A partial list of the most common commands for MS-DOS follows.

@

Commands beginning with the @ command are never echoed before running. The main use is to prevent batch echo by placing a command @echo off at the beginning of batch files.

:

A colon in front of a word, like :label , designates a label. Unlike remarks (REM), labels are not processed by the command processor, so comments might be added proceeded by a pair of colons, eg ::, or by a colon and space.

 ;

Semicolons at the beginning of the line are usually processed by the command processor, but most other programs ignore these. This might be used to add a small batch file to the beginning of a program's data file, in the way that EXTPROC works.

/*

In PC DOS, OS/2 thus 4OS2, 4DOS, 4NT etc, a batch file beginning with /* is treated as a REXX script. PC DOS 7.0, 2000 and 7.1 implement this feature.
In REXX, as in C, comments are surrounded by a matching /* comment */.

( )

Commands surrounded by parenthesis ('(' and ')') are treated as a single command. This is very useful to execute several commands in the same iteration of a FOR loop.

append

Displays or sets the search path for data files. DOS will search the specified path(s) if the file is not found in the current path. This had some creative uses, such as allowing non-CD based games to be run from the CD, using configuration/save files stored on the hard drive.
append;
append [d:]path[;][d:]path[...]
append [/X:on|off][/E]

assign

The command redirects requests for disk operations on one drive to a different drive.
assign [x[:]=y[:]...
assign /STATUS

Options:

If typed without parameters then all drive letters are reset to original assignments.
The command is available in MS-DOS 5.00.

attrib

Attrib changes or views the attributes of one or more files. It defaults to displaying the attributes of all files in the current directory.
ATTRIB [+R|-R] [+A|-A] [+S|-S] [+H|-H][drive:][path][filename] [/S [/D]]

Options:

Note: Everything inside a brace [option] is an optional item. Roughly equivalent to the Unix commands chattr and lsattr.

backup and restore

Programs to back up and restore files from an external disk. These appeared in version 2, and continued to PC DOS 5 and MS-DOS 6 (PC DOS 7 had a deversioned check).
In DOS 6, these were replaced by commercial programs (CPBACKUP, MSBACKUP), which allowed files to be restored to different locations.

BASIC and BASICA

An implementation of the BASIC programming language for PCs. The Basic language as implemented by this was a very common operating system on 8- and 16-bit machines that were made in the 1980's.
IBM computers had BASIC 1.1 in ROM, and IBM's versions of BASIC used code in this ROM-BASIC, which allowed for extra memory in the code area. BASICA last appeared in IBMDOS 5.02, and in OS/2 (2.0 and later), the version had ROMBASIC moved into the program code.
Microsoft released GW-BASIC for machines with no ROM-BASIC. Some OEM releases had basic.com and basica.com as loaders for GW-BASIC.EXE.
Basic was dropped after MS-DOS 4, and PC DOS 5.02. OS/2 (which uses PC DOS 5), has it, while NT (MS-DOS 5) does not.

call

Calls one batch program from another. A new batch file context is created with the specified arguments and control is passed to the statement after the label specified.

Syntax:

call [filespec][batch file parameters]

cd or chdir

Change current working directory. Displays the current working directory when used without a path parameter.
cd 

displays the current working directory on the current drive.

cd directory

changes the working directory on the current drive to directory.

chdir e:directory

changes the working directory on E: to directory.

cd ..

changes the working directory to the parent directory (up one directory level).

cd \

changes the working directory to the root (top level) directory of the current drive.

Equivalent to the Unix command cd (with a path parameter), or pwd (without a parameter). cd .. changes to the parent directory.

chcp

Changes the code page used to display character glyphs in a console window.
chcp [codepage]

With a numeric parameter, this command changes the codepage setting to codepage. Without a parameter, the command displays the currently active codepage. The codepage 1252 lets use the GUI charset in the command line, while 65001 is utf-8.

chkdsk

Verifies a storage volume (hard disk, partition, floppy disk, flash drive, etc) for file system integrity.

Options:

chkdsk volume letter: path filename [/F] [/P] [/R] [/X]
Equivalent to the Unix command fsck

choice

Allows for batch files to prompt the user to select one item from a set of single-character choices.
Choice was introduced as an external command with MS-DOS 6.0;[2] Novell DOS 7[3] and PC DOS 7.0. Earlier versions of DR DOS supported this function with the built-in switch command (for numeric choices) or by beginning a command with a question mark.[3]
This command was formerly called ync (yes-no-cancel).

cls

Clears the screen.
cls
Equivalent to the Unix clear.

copy

Copies files from one location to another. The destination defaults to the current directory. If multiple source files are indicated, the destination must be a directory, or an error will result.
Syntax:
copy [source\filename] [destination\folder]
Files may be copied to devices. For example, copy file lpt1 sends the file to the printer on LPT1. copy file con outputs file to the screen ("console"), which can also be done using type file. Devices themselves may be copied: copy con file takes the text typed into the console and puts it into file, stopping when EOF (Ctrl+Z) is typed.
Files may be concatenated using +. For example, copy file1+file2 file_cat will concatenate the files and output them as file_cat. There are two switches to modify the command's behaviour, /a (text mode, the default) and /b (binary mode). In text mode, copy will stop when it reaches the EOF character; in binary mode, the files will be concatenated in their entirety, ignoring EOF characters.
Examples of usage:
copy /a alpha.txt + beta.txt gamma.txt
copy /b alpha.mpg + beta.mpg gamma.mpg
Equivalent Unix commands are cp (for copying) and cat (for concatenation). Device files may be copied in Unix as well, e.g. cp file /dev/tty will display a file on the screen (but cat file is more commonly used here).
Equivalent RT-11/RSX-11/OpenVMS command is copy.
Examples of usage:
copy con filename.extension

Everything typed at the console is sent to the file, until a control Z character is typed.

ctty

Defines the device to use for input and output.
Syntax:
ctty device
Example of usage:
ctty COM1
hello

defrag

(in MS-DOS/PC DOS; diskopt in DR-DOS)

Defragments a disk drive.
Options:
  • -A – Analyses the fragmentation of a disk drive
  • -F – Force defragmentation even if disk space is low
  • -V – Verbose output mode
  • -H – Defrag hidden files
Example of usage:
defrag driveletter: -a -v
No Unix equivalent.

del or erase

Deletes one or more files.

This command is used to delete a particular or more files.

Syntax:

del filename
erase filename

Options

*.*  All files in current folder
*.* /s all files in current folder and sub folders, 
Equivalent to the Unix command rm.
Equivalent in RT-11/RSX-11/OpenVMS operating systems line is delete command which can be contracted to del.

deltree

Deletes a directory along with all of the files and subdirectories that it contains. Normally, it will ask for confirmation of such a drastic action.
deltree [/y] directory
The /y parameter, if present, tells the deltree command to carry out without first prompting for confirmation.
The deltree command is included in certain versions of Microsoft Windows and Microsoft DOS Operating Systems. It is specifically available only in versions of MS-DOS 6.0 and higher, and in Microsoft Windows 9x.
In Microsoft Windows NT, the functionality provided exists but is handled by the command "rd" or "rmdir" which has slightly different syntax.
However this behavior can also be achieved on almost any version Microsoft Windows or Microsoft DOS by using the "del" or "erase" command as in the following example:
del /s /f [/q] directory && rd /s [/q] directory 
In Unix, the functionality of deltree is provided by the rm command with the parameter -r (or -rf for the /y switch).

dir

Lists the contents of a directory.

The dir command typed by itself, displays the disk's volume label and serial number; one directory or filename per line, including the filename extension, the file size in bytes, and the date and time the file was last modified; and the total number of files listed, their cumulative size, and the free space (in bytes) remaining on the disk. The command is one of the few commands that exist from the first versions of DOS.

dir [drive:][path][filename] [parameters]

Most commonly used parameters of dir include:

Possible attributes for the A parameter are D (directories), R (read-only files), H (hidden files), A (files/directories with the archive bit on), and S (system files). The prefix - negates an attribute; attributes can be combined (e.g. /A:DA means directories with the archive bit on).

Possible sort orders are N (name), S (size), E (extension), D (date and time), A (last access date), and G (group directories first). The prefix - reverses the order.

Other less commonly used parameters of dir include:

The default parameters of dir can be set using the DIRCMD environment variable.

Equivalent to the Unix command ls (the option -l is "long" list format, it works in the opposite manner to /w.)

Equivalent in RT-11/RSX-11/OpenVMS operating systems line is directory command which can be contracted to dir.

echo

Prints its own arguments back out to the DOS equivalent of the standard output stream. Usually, this means directly to the screen, but the output of echo can be redirected like any other command. Often used in batch files to print text out to the user.
echo this is text              Outputs 'this is text'
echo.                          Outputs a blank line
Another important use of the echo command is to toggle echoing of commands on and off in batch files.
echo on               turns on echoing of commands
echo off              turns off echoing of commands
Traditionally batch files begin with the @echo off statement. This says to the interpreter that echoing of commands should be off during the whole execution of the batch file thus resulting in a "tidier" output. The @ symbol declares that this particular command (echo off) should also be executed without echo. For example the following 2 batch files are equivalent:
Batch1.bat:
@echo off
echo The files in your root directory:
dir /b /a-d c:\
Batch2.bat:
@echo The files in your root directory:
@dir /b /a-d c:\
Echo can be used to write to files directly from the console, by redirecting the output stream:
echo text > filename
Echo can also be used to append to files directly from the console, again by redirecting the output stream:
echo text >> filename
Echo can also be used to redirecting the output stream to a device:
echo This line will print on a line printer. >> LPT1:
To type more than one line from the console into a file, use copy con (above).
Equivalent to the Unix command echo.

edit

Full-screen text editor, included with MS-DOS 5 and 6, OS/2 and Windows NT to 4.0

edlin

DOS line-editor. It can be used with a script file, like debug, this makes it of some use even today. The absence of a console editor in MS-DOS/PC DOS 1-4 created an after-market for third-party editors.
In DOS 5, an extra command "?" was added to give the user much needed help.
DOS 6 was the last version to contain EDLIN, for MS-DOS 6, it's on the supplemental disks, PC DOS 6 had it in the base install. Windows NT 32-bit, and OS/2 have Edlin.

exe2bin

Converts an executable (.exe) file into a binary file with the extension .com, which is a memory image of the program.
The size of the resident code and data sections combined in the input .exe file must be less than 64KB. The file must also have no stack segment.

exit

Exits the current command processor. If the exit is used at the primary command, it has no effect unless in a DOS window under Microsoft Windows, in which case the window is closed and the user returns to the desktop.
exit [/B]
  /B When used within a batch script, exits the script without closing the calling DOS window
Exit also exists in Unix-shells. If an exit command is used in the primary command shell under Unix, however, it will logoff the user, similar to the control-D keystroke.

extproc

Passes batch file to an external processor. This command appears in OS/2's cmd.exe, and by way of 4OS2 and 4NT, into the 4nt system. In general, DOS has no way of passing batches to external processors, except by a small batch file at the lead.

fastopen

fc or comp

Compares two files or sets of files and displays the differences between them.
FC [/A] [/C] [/L] [/LBn] [/N] [/T] [/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.
 /T 	Does not expand tabs to spaces.
 /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.
Equivalent to the Unix commands comm, cmp and diff.

fdisk

Manipulates hard disk partition tables. The name derives from IBM's habit of calling hard drives fixed disks. When run from the command line, it displays a menu of various partitioning operations:
 1. Create DOS partition or Logical DOS Drive
 2. Set active partition
 3. Delete partition or Logical DOS Drive
 4. Display partition information
 5. Change current fixed disk drive (only available if the computer has more than one hard drive)
FDISK /MBR installs a standard master boot record on the hard drive.
FDISK /MBR #: where # is other partition on system. Completes above command on indicated partition.
                  e.g.: "C:\FDISK /MBR D:" would install boot record on D:\ partition.
Fdisk exists under Unix with the same name, but it is an entirely different program. However they share purposes.

find

A filter to find lines in the input data stream that contain or don't contain a specified string and send these to the output data stream.
Find may also be used as a pipe.
find "keyword" < ''inputfilename'' > ''outputfilename''

Searches for a text string in a file or files.

FIND [/V] [/C] [/N] [/I] "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.
  "string"  Specifies the text string to find.
  [drive:][path]filename Specifies a file or files to search.

If a pathname is not specified, FIND searches the text typed at the prompt
or piped from another command.
Equivalent to the Unix command grep. The Unix command find performs an entirely different function analogous to dir /s.

for

The FOR loop can be used to parse a file or (with /F) the output of a command.
FOR [switches] %variable IN (set) DO command [parameters for command]

    [switches]  /D
                Use for finding directory names if (set) contains wildcards and is a dir command
                /R [[drive:]path]
                Use to recursively search directory tree
                /L
                Changes set to (start,step,end) and is used for number sequences
                /F ["options"]
                   ["options"]
                      eol=c      Set the end of line character
                      skip=n     Number of lines to skip before processing
                      delims=xxx set the delimiters to use (default are space and tab)
                      tokens=x,y,m-n Can be used to return single,multiple or range of tokens
                With this switch (set) can be a list of files,"quoted string",command.  
                If a list of files is used each file will be parsed using the ["options"]

    %variable   Use a single letter preceded by %%
    (set)       List of data to parse
    command     command to execute

Example:

for /f "Skip=4 tokens=1" %%i in ('NET FILES') do if not "%%i" EQU "The" NET FILE  %%i /CLOSE
   Will close open network shared files

format

Deletes the FAT entries and the root directory of the drive/partition, and reformats it for MS-DOS.
In most cases, this should only be used on floppy drives or other removable media. This command can potentially erase everything on a computer's hard disk.
/autotest and /backup are undocumented features. Both will format the drive without a confirmation prompt.
format [options] drive
FORMAT drive: [/V[:label]] [/Q] [/F:size] [/B | /S] [/C]
FORMAT drive: [/V[:label]] [/Q] [/T:tracks /N:sectors] [/B | /S] [/C]
FORMAT drive: [/V[:label]] [/Q] [/1] [/4] [/B | /S] [/C]
FORMAT drive: [/Q] [/1] [/4] [/8] [/B | /S] [/C]
 /V[:label]  Specifies the volume label.
 /Q          Performs a quick format.
 /F:size     Specifies the size of the floppy disk to format (such
             as 160, 180, 320, 360, 720, 1.2, 1.44, 2.88).
 /B          Allocates space on the formatted disk for system files.
 /S          Copies system files to the formatted disk.
 /T:tracks   Specifies the number of tracks per disk side.
 /N:sectors  Specifies the number of sectors per track.
 /1          Formats a single side of a floppy disk.
 /4          Formats a 5.25-inch 360K floppy disk in a high-density drive.
 /8          Formats eight sectors per track.
 /C          Tests clusters that are currently marked "bad."
There is also an undocumented /u parameter for "unconditional" that will write strings of zeros on every sector. This is now an official switch in Windows Vista and 7 but with the parameter /p instead.
Equivalent to the Unix command mkfs.
Equivalent in RT-11/RSX-11/OpenVMS operating systems line is format command which can not create filesystem. After formatting one should use initialize (contracted to init) command to create filesystem (Equivalent to MS-DOS command format /q or "quick format").

help

Gives help about DOS.
MS-DOS
help 'command' would give help on a specific command. By itself, it lists the contents of DOSHELP.HLP. Help for a specific command invokes the command with the /? option. In MS-DOS 6.x this command exists as FASTHELP.
MS-DOS 6.xx help command uses QBASIC to view a quickhelp HELP.HLP file, which contains more extensive information on the commands, with some hyperlinking etc. The MS-DOS 6.22 help system is included on Windows 9x cdrom versions as well.
PC DOS
PC DOS 5,6 help is the same form as MS-DOS 5 help command.
PC DOS 7.xx help uses view.exe to open OS/2 style .INF files (cmdref.inf, dosrexx.inf and doserror.inf), opening these to the appropriate pages.
DR-DOS
In DR-DOS, help is a batch file that launches DR-DOS' reference, dosbook.
Microsoft Windows
Windows NT, all versions, uses DOS 5 style help, but versions before VISTA have also a Windows help file (NTCMDS.HLP or NTCMDS.INF) in a similar style to MS-DOS 6.
FreeDOS
FreeDOS uses an HTML help system, which views HTML help files on a specified path. The path is stored in HELPPATH environment variable, if not specified, default path is \HELP on the drive which HELP is placed.
Partially equivalent to the Unix command man.

intersvr & interlnk

(in MS-DOS; filelink in DR-DOS)

Network PCs using a null modem cable or LapLink cable. The server-side version of InterLnk, it also immobilizes the machine it's running on as it is an active app (As opposed to a TSR) which must be running for any transfer to take place. DR-DOS' filelink is executed on both the client and server.
New in PC DOS 5.02, MS-DOS 6.0[4]
No direct Unix equivalent, though some Unices offer the ability to network computers with TCP/IP through null modem or Laplink cables using PLIP or SLIP.

join

Attaches a drive letter to a specified directory on another drive.[4]
JOIN d: [d:\path]
JOIN [/D] (removes drive assignment)
If JOIN a: c:\floppy were executed, c:\floppy would display the contents of the a: drive. The opposite can be achieved via the subst command.

label

Changes the label on a logical drive, such as a hard disk partition or a floppy disk.
In Unix and Unix-like systems, this differs from filesystem to filesystem. e2label can be used for ext2 partitions.

loadfix

Loads a program above the first 64K of memory, and runs the program.
loadfix [drive:][path]filename
Included only in MS-DOS/PC DOS. DR-DOS used memmax, which opened or closed lower, upper, and video memory access, to block the lower 64K of memory.[5]

loadhigh, lh

hiload in DR-DOS.

md or mkdir

Makes a new directory. The parent of the directory specified will be created if it does not already exist.
md directory
Equivalent to the Unix command mkdir.

mem

Displays memory usage.
mem

Options:

Equivalent to the Unix command free.

memmaker

Starting from version 6, MS-DOS included the external program MemMaker which was used to free system memory (especially Conventional memory) by automatically reconfiguring the AUTOEXEC.BAT and CONFIG.SYS files. This was usually done by moving TSR Programs to the Upper memory. The whole process required three system restarts. Before the first restart the user was asked whether he/she wanted to enable EMS Memory.
The use of MemMaker was popular among gamers who wanted to enable or disable Expanded memory in order to run a game.

Options:

PC DOS uses another program RamBoost to optimize memory, either the HIMEM/EMM386 or a third-party memory manager.

mode

Configures system devices. Changes graphics modes, adjusts keyboard settings, prepares code pages, and sets up port redirection.[6]

more

Pages through the output so that you can view more than one screen of text.
command | more
Equivalent to the Unix commands more and less.
More may also be used as a filter.
more < inputfilename

move

Moves files or renames directories.
move filename newname
move driveletter:\olddir driveletter:\newdir
Example of usage:
move c:\old c:\new
Equivalent to the Unix command mv. DR-DOS used a separate command for renaming directories, rendir.

msd

Provides detailed technical information about the computer's hardware and software.
msd
New in MS-DOS 6;[7] the PC DOS version of this command is QCONFIG. The command appeared first in Word2, and then in Windows 3.10.
No Unix equivalent, however in GNU/Linux similar type of information may be obtained from various text files in /proc directory.

path

Displays or sets a search path for executable files.

pause

Suspends processing of a batch program and displays the message 'Press any key to continue. . .'. This command exists in all versions of Microsoft Windows and has the exact same function.

pcpark

Parks the hard disk heads in order to enable safe shutdown; only used on early versions.
pcpark
No Unix equivalent.
MS-DOS 3.2 (and possibly others) used the command HHSET

print

Adds a file in the print queue.

Options:

This command was introduced in MS-DOS version 2. Before that there was no built-in support for background printing files. The user would usually use the copy command to copy files to LPT1.

Equivalent to the Unix commands lp and lpr.

readline

Reads a line from input, and sets the variables %1 to %9, as if the line had been set as batch parameters.
  Use the READLINE command to read a line of text from the
  keyboard and place it in the batch file variables to
  This command can only be used from within a batch file.

  SYNTAX: READLINE [/V]

  where:
    /V    converts the input line to upper case.
The command occurs in the OS/2 command.com and cmd.exe, but not in other systems.

rd or rmdir

Remove a directory (delete a directory), by default the directories must be empty of files for the command to succeed. The deltree command in some versions of MS-DOS and all versions of Windows 9x removes non-empty directories.
rmdir /s
The [/s] parameter enables rmdir to function in the same way as deltree, deleting all sub folders and Files, and by default requiring confirmation.
rmdir /s /q
The [/q] parameter, if present, tells the rmdir command to carry out the deletion without first prompting for confirmation. This is the same as running deltree [/y].

rem

Remark statement, normally used within a batch file, and for DR-DOS, PC/MS-DOS 6 and above, in CONFIG.SYS.
The REM command is processed by the command processor, the output can be redirected to create a zero-byte file.
rem This creates a zero-byte file in some command processors.
rem > newfilename  
:: This never creates a file
:: > filename.ext
REM is also useful in logged sessions or screen-captures.
One might add comments by way of labels, usually starting with double-colon ::. These are not processed by the command processor.
In Unix, the # sign can be used to start a comment.

ren

Renames a file. Unlike the move command, this command cannot be used to rename subdirectories, or rename files across drives.
ren filename newname
You can rename files in another directory by using the PATH parameter:
ren [[path\]filename] [newfilename]
This example renames c:\windows\filex.txt to c:\windows\filey.txt
ren c:\Windows\filex.txt filey.txt
Using a path in the destination newname will move the file to the new path, if this is on the same device. This renames the file to the c:\temp directory.
ren c:\windows\filex.txt \temp\filey.txt
On DOS with long filename support, care must be taken when directories have spaces in their names like "Documents and Settings". In these cases double-quotes are used to enclose them. Note it is necessary only to enclose blocks including spaces.
ren c:\"Documents and Settings"\"All Users"\Desktop\filex.txt filey.txt
ren "c:\Documents and Settings\All Users\Desktop\filex.txt" filey.txt
Wildcards in the destination are replaced by the corresponding part of the original name, so the command below will change the extension of the file from .doc to .txt, here myfile.doc becomes myfile.txt.
ren myfile.doc *.txt
Mass renames can be accomplished by the use of wildcards. For example, the following command will change the extension of all files in the current directory which currently have the extension htm to html:
ren *.htm *.html
In Unix, this functionality of a simple move is provided by the mv command, while batch renames can be done using the rename command.

scandisk

Disk diagnostic utility. Scandisk was a replacement for the chkdsk utility, starting with later versions of MS-DOS. Its primary advantages over chkdsk is that it is more reliable and has the ability to run a surface scan which finds and marks bad clusters on the disk. It also provided mouse point-and-click TUI, allowing for interactive session to complement command-line batch run.

chkdsk had surface scan and bad cluster detection functionality included, and was used again on Windows NT based operating systems.

Equivalent to the Unix command fsck.

set

Sets environmental variables. See Environment variable.
CMD.EXE in Windows NT 2000, 4DOS, 4OS2, 4NT, and a number of third-party solutions allow direct entry of environment variables from the command prompt, in the manner of set /p.
set /p choice=Type your text.
echo You typed: "%choice%"

From at least Windows 2000, the set command with the /A switch allows the evaluation of strings into variables, thus providing inter alia a means of performing integer arithmetic.[8]

setver

TSR designed to return a different value to the version of DOS that is running. This allows programs that look for a specific version of DOS to run under a different DOS.
Setver appeared in version 4, and has been in every version of DOS, OS/2 and Windows NT since.

share

Installs support for file sharing and locking capabilities.
share [/F:space] [/L:locks]

 /F:space Allocates file space (in bytes) for file-sharing information.
 /L:locks Sets the number of files that can be locked at one time.

smartdrive

sort

A filter to sort lines in the input data stream and send them to the output data stream.
sort < inputfilename > outputfilename
Similar to the Unix command sort. Handles files up to 64k. This sort is always case insensitive.[9]

subst

A utility to map a subdirectory to a drive letter.[4]
subst <d:> <path>
subst <d:> /D   (Deletes the substitute drive)
If SUBST e: c:\edrive were executed, a new drive letter e: would be created, showing the contents of c:\edrive. The opposite can be achieved via the join command.

sys

A utility to make a volume bootable. Sys rewrites the Volume Boot Code (the first sector of the partition that Sys is acting on) so that the code, when executed, will look for Io.sys. Sys also copies the core DOS system files, Io.sys, Msdos.sys, and Command.com, to the volume. Sys does NOT rewrite the Master Boot Record, contrary to widely-held belief.

time and date

Display and set the time and date
time
date
When these commands are called from the command line or a batch file, they will display the time or date and wait for the user to type a new time or date and press RETURN. The commands time /t and date /t will display output without waiting for input.
The Unix command date displays both the time and date, but does not allow the normal users to change either. Users with superuser privileges may use date -s <new-date-time> to change the time and date.
The Unix command time performs a different function.

tree

Shows the directory tree of the current directory
Syntax:
tree [options] [directory]
Options:

truename

truename
        or 
truename drivename 
        or 
truename filename 
        or 
truename directory
If typed without a parameter then the current active drive pathname is displayed.
MS-DOS can find files and directories given their names, without full path information, if the search object is on a path specified by the environment variable PATH. For example, if PATH includes C:\PROGRAMS, and file MYPROG.EXE is on this directory, then if MYPROG is typed at the command prompt, the command processor will execute C:\PROGRAMS\MYPROG.EXE
the TRUENAME command will expand a name in an abbreviated form which the command processor can recognise into its full form, and display the result. It can see through SUBST and JOIN to find the actual directory. In the above example,
TRUENAME MYPROG
would display
C:\PROGRAMS\MYPROG.EXE
and for a substituted drive set up by
subst d: c:\util\test
the command
truename d:\test.exe
will display
c:\util\test\test.exe
This command also displays the UNC pathnames of mapped network or local CD drives.
This command is an undocumented DOS command. The help switch "/?" defines it as a "Reserved command name". It is available in MS-DOS 5.00.
This command is similar to the Unix which command, which, given an executable found in $PATH, would give a full path and name. The C library function realpath performs this function.

The Microsoft Windows command processors do not support this command.

type

Display a file. The more command is frequently used in conjunction with this command, e.g. type long-text-file | more.
type filename
Equivalent to the Unix command cat. Note that you can use this to concatenate files (type file1 file2 > file3) however this won't work for large files--use copy command instead.

undelete

Restores file previously deleted with del. By default all recoverable files in the working directory are restored. The options are used to change this behavior. if the MS-DOS mirror TSR program is used, then deletion tracking files are created and can be used by undelete.
Syntax:
undelete [filespec] [/list|/all][/dos|/dt]

Options:

In Unix and Unix-like systems this differs from filesystem to filesystem. People who use the ext2 filesystem can try the command e2undel.

ver

An internal DOS command, that reports the DOS version presently running, and since MS-DOS 5, whether DOS is loaded high. The corresponding command to report the Windows version is winver.

Options: DOS 5 and later

Value returned:

verify

Enables or disables the feature to determine if files have been correctly written to disk.
If no parameter is provided, the command will display the current setting.[10]
verify [on|off]

xcopy

Copy entire directory trees.

Xcopy is a version of the copy command that can move files and directories from one location to another.

xcopy directory [destination-directory]
Equivalent to the Unix command cp when used with -r parameter.

See also

References

  1. ^ John Angermeyer et al (ed), Tricks of the MS-DOS Masters, Howard W. Sams, 1987, ISBN 0-672-22525-5 pp. 139-143
  2. ^ http://www.computerhope.com/choicehl.htm
  3. ^ a b http://www.drdos.com/dosdoc/usergeng/07ugch7.htm
  4. ^ a b c EasyDOS Command Index
  5. ^ DR DOS 6.0 User Guide. Digital Research. 1991. 
  6. ^ http://www.computerhope.com/modehlp.htm
  7. ^ http://www.computerhope.com/msdhlp.htm
  8. ^ Karp, David Aaron; Tim O'Reilly, Troy Mott (2005). Windows XP in a nutshell. Nutshell handbook (2 ed.). O'Reilly Media, Inc.. p. 422. ISBN 9780596009007. http://books.google.com/books?id=5_UoYcmkvncC. Retrieved 2010-11-26. 
  9. ^ Microsoft on "sort"
  10. ^ http://www.csulb.edu/~murdock/verify.html

External links

There are several guides to DOS commands available that are licenced under the GNU Free Documentation License: