Command Line Help
Command Line Help
In versions 5 of DOS and later, the user can get help by typing help at the shell prompt. To get
help on a DOS command, the command-line switch /? can be used. For example, to get help for
the xcopy command, type the following at the DOS prompt:
xcopy /?
The operating system will execute the command and the /? parameter instructs the command to
display a help page about itself, in this case xcopy. To view this help page, see the xcopy entry
on this page.
[edit] Commands
A partial list of the most common commands for DOS follows.
[edit] append
Display 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, with configuration/save files stored on the HD.
append;
append [d:]path[;][d:]path[...]
append [/X:on|off][/E]
[edit] 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.
[edit] attrib
Change or view 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.
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.
[edit] 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:
[edit] cd or chdir
Change current working directory. Displays the current working directory when used
without a path parameter.
cd
cd f:
cd directory
chdir e: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.
[edit] 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.
[edit] chkdsk
Verifies a storage volume (hard disk, partition, floppy disk, flash drive, etc) for file
system integrity.
Options:
• /F : Fixes errors on the volume (without /F , chkdsk only detects errors)
• /P : Forces a full verification
• /R : Searches for defective sectors and recovers legible information (applies /F)
• /X : Unmounts the volume before processing if needed. (Note: Unmounting temporarily
invalidates all pointers/handlers to the volume until process is completed)
[edit] choice
Allows for batch files to prompt the user to select one item from a set of single-character
choices.
Introduced in MS-DOS 6;[1] DR-DOS 7.03.[2] Earlier versions of DR-DOS supported this
function with the switch command (for numeric choices) or by beginning a command
with a question mark.[2]
[edit] cls
[edit] 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 from [source\filename] to [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.
[edit] ctty
Example of usage:
ctty COM1
[edit] defrag
Example of usage:
defrag driveletter: -a -v
No Unix equivalent.
Syntax:
del filename
erase filename
Options
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 not included in recent Microsoft Windows operating systems.
Deleting a non-empty directory in those versions of Windows where the command is not
included, can be achieved by using the rmdir command as in the following example:
In Unix, the functionality of deltree is provided by the rm command with the parameter -r (or
-rf for the /y switch).
[edit] dir
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.
• /W : Displays the listing in wide format, with as many as five filenames or directory
names on each line.
• /P : Pause at every page
• /S : Also look in subdirectories
• /Axx: Display files with the specified attributes only
• /Oxx: Modifies sort order
• /B : Uses bare format (no heading information or summary)
• > [drive:][path][filename] : To Store Result in a text file;(c:\dir > c:\fileList.txt)
(this is not a parameter, it is output redirection)
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.
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 the opposite way
from /w.)
[edit] 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
To type more than one line from the console into a file, use copy con (above).
Equivalent to the Unix command echo.
[edit] edit
Full-screen text editor, included with MS-DOS 5 and 6, OS/2 and Windows NT to 4.0
• Windows 95 and later, and W2k and later use Edit v 2.0
• PC-DOS 6 and later use the DOS E Editor.
• DR-DOS used editor up to version 7.
[edit] 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/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.
[edit] 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.
[edit] 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.
[edit] fastopen
[edit] 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.[citation needed]
Equivalent to the Unix commands comm, cmp and diff.
[edit] 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.
eg: "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.
[edit] 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''
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.
[edit] format
Delete all the files on the disk and reformat 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."
Known as a joke among UNIX users of that time since every user on the machine could easily
cause damage with just one command. Therefore, it was known in the UNIX community as "The
big DOS timesaver".
There is also an undocumented /u parameter for "unconditional" that will write strings of
zeros on every sector.
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").
[edit] help
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[3]
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.
[edit] join
[edit] 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.
[edit] loadfix
Loads a program above the first 64K of memory, and runs the program.
loadfix [drive:][path]filename
Included only in MS/PC-DOS. DR-DOS used memmax, which opened or closed lower,
upper, and video memory access, to block the lower 64K of memory.[4]
[edit] loadhigh, lh
[edit] 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.
[edit] mem
Options:
[edit] 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 or not.
The use of MemMaker was popular among gamers who wanted to enable or disable
Expanded memory in order to run a game which required EMS or not. Better results
could be achieved by an experienced user manually configuring the startup files to
achieve greater free memory yield.
Options:
• /BATCH Runs MemMaker in batch (unattended) mode. In batch mode, MemMaker takes
the default action at all prompts.
• /UNDO Instructs MemMaker to undo its most recent changes.
[edit] mode
Configures system devices. Changes graphics modes, adjusts keyboard settings, prepares
code pages, and sets up port redirection.[5]
[edit] 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
[edit] move
[edit] msd
[edit] pause
Suspends processing of a batch program and displays the message 'Press any key to
continue. . .'.
[edit] 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
[edit] print
Options:
• /D device : Specifies the name of the print devices. Default value is LPT1
• /P filename : Add files in the print queue
• /T : Removes all files from the print queue
• /C filename : Removes a file from the print queue
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.
[edit] rd or rmdir
Remove a directory, which by default must be empty of files for the command to succeed
(the /s flag removes this restriction).
rd directory
Equivalent to the Unix command rmdir.
[edit] rem
Remark statement, normally used within a batch file. An alternative way not to run a
specific statement in a batch file is creating a label that will never be used, ::.
rem > newfilename
In Unix, the # sign can be used to start a comment.
[edit] 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]
An example could be:
ren c:\Windows filex.txt 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:
ren c:\"Documents and Settings"\"All Users"\Desktop filex.txt filey.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.
[edit] 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.
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.
[edit] set
[edit] 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.
[edit] share
[edit] smartdrive
[edit] 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. [7]
[edit] subst
[edit] 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.
[edit] tree
[edit] 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.
[edit] 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.
[edit] 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.
[edit] 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.
Value returned:
• MS-DOS up to 6.22, typically derive the DOS version from the DOS kernel. This may be
different from the string it prints when it starts.
• PC-DOS typically derive the version from an internal string in command.com (so PC-
DOS 6.1 command.com reports the version as 6.10, although the kernel version is 6.00.)
• DR-DOS reports whatever value the environment variable OSVER reports.
• OS/2 command.com reports an internal string, with the OS/2 version. The underlying
kernel here is 5.00, but modified to report x0.xx (where x.xx is the OS/2 version).
• Windows 9x command.com report a string from inside command.com. The build version
(eg 2222), is also derived from there.
• Windows NT command.com reports either the 32-bit processor string (4nt, cmd), or
under some loads, MS-DOS 5.00.500, (for all builds). The underlying kernel reports 5.00
or 5.50 depending on the interrupt. MS-DOS 5.00 commands run unmodified on NT.
• The Winver command usually displays a Windows dialog showing the version, with
some information derived from the shell. In windows before Windows for workgroups
3.11, running winver from DOS reported an embedded string in winver.exe.
[edit] 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.[8]
verify [on|off]
[edit] xcopy
Xcopy is a powerful version of the copy command with additional features; has the capability of
moving files, directories, and even whole drives from one location to another.