List of DOS commands
This article needs additional citations for verification. (July 2016) |
This article presents a list of commands used by DOS operating systems, especially as used on x86-based IBM PC compatibles (PCs). Other DOS operating systems are not part of the scope of this list.
In DOS, many standard system commands were provided for common tasks such as listing files on a disk or moving files. Some commands were built into the command interpreter, others existed as external commands on disk. Over the several generations of 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, cmd.exe, can still be used.
Command processing
The command interpreter for DOS runs when no application programs are running. When an application exits, if the transient portion of the command interpreter in memory was overwritten, DOS will reload it from disk. Some commands are internal — built into COMMAND.COM; others are external commands stored on disk. 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.
External 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 drive or on the command path set in the command interpreter.
In the list below, commands that can accept more than one file name, or a filename including wildcards (* and ?), are said to accept a filespec (file specification) parameter. Commands that can accept only a single file name are said to accept a filename parameter. Additionally, 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 filenames, file specifications, and other options.
The command interpreter preserves the case of whatever parameters are passed to commands, but the command names themselves and file names are case-insensitive.
Many commands are the same across many DOS systems, but some differ in command syntax or name.
DOS commands
A partial list of the most common commands for MS-DOS follows below.
APPEND
Sets the path to be searched for data files or displays the current search path. The APPEND command is similar to the PATH command that tells DOS where to search for program files (files with a .COM, . EXEC, or .BAT file name extension).
ASSIGN
The command redirects requests for disk operations on one drive to a different drive. It can also display drive assignments or reset all drive letters to their 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. The file attributes available include read-only, archive, system, and hidden attributes. The command has the capability to process whole folders and subfolders of files,
BACKUP and RESTORE
These are commands to backup 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. Implementing BASIC in this way was very common in operating systems on 8- and 16-bit machines made in the 1980s.
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 IBM PC DOS 5.02, and in OS/2 (2.0 and later), the version had ROM-BASIC 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 MS-DOS 5 does not.
CALL
Starts a batch file from within another batch file and returns when that one ends.
CD and CHDIR
The CHDIR (or the alternative name CD) command either displays or changes the current working directory.
CHCP
The command either displays or changes the active code page used to display character glyphs in a console window.
CHKDSK
CHKDSK verifies a storage volume (for example, a hard disk, disk partition or floppy disk) for file system integrity. The command has the ability to fix errors on a volume and recover information from defective disk sectors of a volume.
CHOICE
The CHOICE command is used in 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;[1] Novell DOS 7[2] 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.[2] This command was formerly called ync (yes-no-cancel).[citation needed]
CLS
The CLS or CLRSCR command clears the terminal screen.
COPY
Copies files from one location to another. It is used to make copies of existing files. This command can be used to combine multiple files into target files. The destination defaults to the current directory. If multiple source files are indicated, the destination must be a directory, or an error will result. COPY has the ability to concatenate files. The command can copy in text mode or 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.
Files may be copied to devices. For example, copy file con
outputs file to the screen console. Devices themselves may be copied to a destination file, for example, copy con file
takes the text typed into the console and puts it into FILE, stopping when EOF (Ctrl+Z) is typed.
CTTY
Defines the terminal device (for example, COM1) to use for input and output.
DATE
Displays the system date and prompts the user to enter a new date. Complements the TIME command.
DEBUG
A very primitive assembler and disassambler.
DEFRAG
The command has the ability to analyze the file fragmentation on a disk drive or to defragment a drive. This command is called DEFRAG in MS-DOS/PC DOS and diskopt in DR-DOS.
DEL and ERASE
DEL (or the alternative form ERASE) is used to delete one or more files.
DELTREE
Deletes a directory along with all of the files and subdirectories that it contains. Normally, it will ask for confirmation of the potentially dangerous action. We know that the RD(RMDIR) command can not delete a directory if the directory is not empty. DELTREE command can be used to delete the whole directory if the directory is not empty.
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 Windows NT, the functionality provided exists but is handled by the command rd or rmdir which has slightly different syntax. This command has been deprecated for Windows 7.
DELTREE[/Y][DRIVE:][PATH]
DIR
The DIR command displays the contents of a directory. The contents comprise 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. The command can display files in subdirectories. The resulting directory listing can be sorted by various criteria and filenames can be displayed in a chosen format.
ECHO
The ECHO command prints its own arguments back out to the DOS equivalent of the standard output stream. (Hence the name, ECHO) Usually, this means directly to the screen, but the output of echo can be redirected, like any other command, to files or devices. Often used in batch files to print text out to the user.
Another important use of the echo command is to toggle echoing of commands on and off in batch files. 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.)
EDIT
EDIT is a full-screen text editor, included with MS-DOS 5 and 6, OS/2 and Windows NT to 4.0 The corresponding program in Windows 95 and later, and W2k and later is Edit v2.0. PC DOS 6 and later use the DOS E Editor and DR-DOS used editor up to version 7.
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, while 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 64 KB. 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.
FASTOPEN
FC and COMP
Show differences between any two files, or any two sets of files.
FDISK
The FDISK command manipulates hard disk partition tables. The name derives from IBM's habit of calling hard drives fixed disks. FDISK has the ability to display information about, create, and delete DOS partitions or logical DOS drive. It can also install a standard master boot record on the hard drive.
FIND
The FIND command is 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. It may also be used as a pipe.
C:\>find /V "any string" FileName
FOR
The FOR loop can be used to parse a file or the output of a command.
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 drive.
GRAPHICS
A TSR program to enable the sending of graphical screen dump to printer by pressing <Print Screen>.
HELP
Gives help about DOS commands.
- MS-DOS
- help 'command' would give help on a specific command. By itself, it lists the contents of DOSHELP.HLP.
- 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.
IF
Evaluate the condition, and only if it is true, then it execute the remainder of the command line Otherwise, it skips the remainder of the line and continues with next command line.
Used in Batch files.
INTERSVR and 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 app) 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]
JOIN
The JOIN command attaches a drive letter to a specified directory on another drive.[3] 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.
LOADFIX
Loads a program above the first 64K of memory, and runs the program. The command is 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.[4]
LOADHIGH and 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.
MEM
Displays memory usage. It is capable of displaying program size and status, memory in use, and internal drivers.It is internal command.
MEMMAKER
Starting with 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 and device drivers to the upper memory. The whole process required two system restarts. Before the first restart the user was asked whether he/she wanted to enable EMS Memory, since use of expanded memory required a reserved 64KiB region in upper memory. The first restart inserted the SIZER.EXE program which gauged the memory needed by each TSR or Driver. MemMaker would then calculate the optimal Driver and TSR placement in upper memory and modify the AUTOEXEC.BAT and CONFIG.SYS accordingly, and reboot the second time.[5]
MEMMAKER.EXE and SIZER.EXE were developed for Microsoft by Helix Software Company and were eliminated starting in MS DOS 7 / Windows 95. PC DOS uses another program RamBoost to optimize memory, working either with PC DOS's HIMEM/EMM386 or a third-party memory manager. RamBoost was licensed to IBM by Central Point Software.
MODE
Configures system devices. Changes graphics modes, adjusts keyboard settings, prepares code pages, and sets up port redirection.[6]
MORE
The MORE command paginates text, so that one can view files containing more than one screen of text. More may also be used as a filter. While viewing MORE text, the return key displays the next line, the space bar displays the next page.
MOVE
Moves files or renames directories. DR-DOS used a separate command for renaming directories, rendir
.
MSCDEX
MSCDEX is a driver executable which allows DOS programs to recognize, read, and control CD-ROMs.
MSD
The MSD command provides detailed technical information about the computer's hardware and software. MSD was new in MS-DOS 6;[7] the PC DOS version of this command is QCONFIG.[citation needed] The command appeared first in Word2, and then in Windows 3.10.
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. . .', if not given other text to display.
The PRINT command adds or removes files in 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.
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.
RECOVER
REM
Remark (comment) command, normally used within a batch file, and for DR-DOS, PC/MS-DOS 6 and above, in CONFIG.SYS. This command is processed by the command processor. Thus, its output can be redirected to create a zero-byte file. REM is 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.
REN
The REN command renames a file. Unlike the move
command, this command cannot be used to rename subdirectories, or rename files across drives. Mass renames can be accomplished by the use of the wildcards characters asterisk (*) and question mark (?).[8]
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.
SET
Sets environment variables. 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. From at least Windows 2000, the set
command allows for the evaluation of strings into variables, thus providing inter alia a means of performing integer arithmetic.[9]
SETVER
SetVer is a TSR program 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.
SMARTDRV
SORT
A filter to sort lines in the input data stream and send them to the output data stream. Similar to the Unix command sort
. Handles files up to 64k. This sort is always case insensitive.[10]
SUBST
A utility to map a subdirectory to a drive letter.[3] The opposite can be achieved via the JOIN command. commands the drive letter to main.
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
Display the system time and waits for the user to enter a new time. Complements the DATE command.
[Hours][Min][Sec]
TITLE
Enables a user to change the title of their MS-DOS window.
TREE
It is an external command, graphically displays the path of each directory and sub-directories on the specified drive.
TRUENAME
The TRUENAME command will expand the name of a file, directory, or drive, and display the result. It will expand an abbreviated form which the command processor can recognise into its full form. It can see through SUBST and JOIN to find the actual directory.
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
. In this case,
TRUENAME MYPROG
would display
C:\PROGRAMS\MYPROG.EXE
This command 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.0. 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.
<real code.st>
TYPE
Displays a file. The more command is frequently used in conjunction with this command, e.g. type long-text-file | more. TYPE can be used to concatenate files (type file1 file2 > file3); however this won't work for large files[dubious – discuss][citation needed]—use copy command instead.
UNDELETE
Restores file previously deleted with del. By default all recoverable files in the working directory are restored; 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.
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
. Values 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 (e.g. 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.
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.[11]
XCOPY
Copy entire directory trees. Xcopy is a version of the copy command that can move files and directories from one location to another.
See also
- Category:Windows commands
- Command-line interface
- List of CONFIG.SYS directives
- Timeline of DOS operating systems
References
- ^ "MS-DOS choice command help". Retrieved 10 September 2014.
- ^ a b "Caldera DR-DOS 7.03 User Guide". Retrieved 10 September 2014.
- ^ a b c EasyDOS Command Index
- ^ DR DOS 6.0 User Guide. Digital Research. 1991.
- ^ Cooper, Jim (May 2001). Using MS-DOS 6.22. Que Publishing. p. 455. ISBN 0789725738.
- ^ "MS-DOS mode command help". Retrieved 10 September 2014.
- ^ "MS-DOS msd command help". Retrieved 10 September 2014.
- ^ "Microsoft TechNet Rename (ren) article".
- ^ 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 978-0-596-00900-7. Retrieved 2010-11-26.
- ^ "Microsoft on "sort"". Retrieved 10 September 2014.
- ^ "DOS Command: VERIFY". Retrieved 10 September 2014.
External links
- Command-Line Reference : Microsoft TechNet Database "Command-Line Reference"
- The MS-DOS 6 Technical Reference on TechNet contains the official Microsoft MS-DOS 6 command reference documention.
- DR-DOS 7.03 online manual
- MDGx MS-DOS Undocumented + Hidden Secrets
There are several guides to DOS commands available that are licensed under the GNU Free Documentation License:
- The FreeDOS Spec at SourceForge is a plaintext specification, written in 1999, for how DOS commands should work in FreeDOS
- MS-DOS commands
- Reference for windows commands with examples
- A Collection of Undocumented and Obscure Features in Various MS-DOS Versions