![]() | |
Other names | Windows Command Processor |
---|---|
Developer(s) | Microsoft, IBM, ReactOS contributors |
Initial release | December 1987 |
Operating system |
|
Platform | IA-32, x86-64, ARM (and historically DEC Alpha, MIPS, PowerPC, and Itanium) |
Predecessor | COMMAND.COM |
Type | Command-line interpreter |
Command Prompt, also known as cmd.exe or cmd, is the default command-line interpreter for the OS/2, [1] eComStation, ArcaOS, Microsoft Windows (Windows NT family and Windows CE family), and ReactOS [2] operating systems. On Windows CE .NET 4.2, [3] Windows CE 5.0 [4] and Windows Embedded CE 6.0 [5] it is referred to as the Command Processor Shell. Its implementations differ between operating systems, but the behavior and basic set of commands are consistent. cmd.exe is the counterpart of COMMAND.COM in DOS and Windows 9x systems, and analogous to the Unix shells used on Unix-like systems. The initial version of cmd.exe for Windows NT was developed by Therese Stowell. [6] Windows CE 2.11 was the first embedded Windows release to support a console and a Windows CE version of cmd.exe. [7] The ReactOS implementation of cmd.exe is derived from FreeCOM, the FreeDOS command line interpreter. [2]
cmd.exe interacts with the user through a command-line interface. On Windows, this interface is implemented through the Win32 console. cmd.exe may take advantage of features available to native programs of its own platform. For example, on OS/2 and Windows, it can use real pipes in command pipelines, allowing both sides of the pipeline to run concurrently. As a result, it is possible to redirect the standard error stream. (COMMAND.COM uses temporary files, and runs the two sides serially, one after the other.)
Multiple commands can be processed in a single command line using the command separator &&. [8]
When using this separator in the Windows cmd.exe, each command must complete successfully for the following commands to execute. For example:
C:\>CommandA && CommandB && CommandC
In the above example, CommandB will only execute if CommandA completes successfully, and the execution of CommandC depends on the successful completion of CommandB. To process subsequent commands even if the previous command produces an error, the command separator & should be used. [9] For example:
C:\>CommandA & CommandB & CommandC
On Windows XP or later, the maximum length of the string that can be used at the command prompt is 8191 (213-1) characters. On earlier versions, such as Windows 2000 or Windows NT 4.0, the maximum length of the string is 2047 (211-1) characters. This limit includes the command line, individual environment variables that are inherited by other processes, and all environment variable expansions. [10]
Quotation marks are required for the following special characters: [8]
& < > [ ] { } ^ = ; ! ' + , ` ~
and white space.
The following is a list of the Microsoft OS/2 internal cmd.exe commands: [11]
The following list of internal commands is supported by cmd.exe on Windows NT and later: [12]
The following list of commands is supported by cmd.exe on Windows CE .NET 4.2, [13] Windows CE 5.0 [14] and Windows Embedded CE 6.0: [15]
In addition, the net command is available as an external command stored in \Windows\net.exe.
The ReactOS implementation includes the following internal commands: [2]
On Windows, cmd.exe is mostly compatible with COMMAND.COM but provides the following extensions over it:
SETLOCAL EnableDelayedExpansion
, allowing values of variables to be calculated at runtime instead of during parsing of script before execution (Windows 2000 and later), fixing DOS idioms that made using control structures hard and complex. [16] The extensions can be disabled, providing a stricter compatibility mode.Internal commands have also been improved:
COMMAND.COM is the default command-line interpreter for MS-DOS, Windows 95, Windows 98 and Windows Me. In the case of DOS, it is the default user interface as well. It has an additional role as the usual first program run after boot. As a shell, COMMAND.COM has two distinct modes of operation: interactive mode and batch mode. Internal commands are commands stored directly inside the COMMAND.COM binary; thus, they are always available, but can only be executed directly from the command interpreter.
The cd
command, also known as chdir
, is a command-line shell command used to change the current working directory in various operating systems. It can be used in shell scripts and batch files.
In computing, a command is a directive to a computer program to perform a specific task. It may be issued via a command-line interface or as input to a network service as part of a network protocol, or as an event triggered in a graphical user interface.
Cabinet is an archive-file format for Microsoft Windows that supports lossless data compression and embedded digital certificates used for maintaining archive integrity. Cabinet files have .cab
filename extensions and are recognized by their first four bytes MSCF. Cabinet files were known originally as Diamond files.
An environment variable is a user-definable value that can affect the way running processes will behave on a computer. Environment variables are part of the environment in which a process runs. For example, a running process can query the value of the TEMP environment variable to discover a suitable location to store temporary files, or the HOME or USERPROFILE variable to find the directory structure owned by the user running the process.
In computing, rmdir
is a command which will remove an empty directory on various operating systems.
PTS-DOS is a disk operating system, a DOS clone, developed in Russia by PhysTechSoft and Paragon Technology Systems.
AUTOEXEC.BAT
is a system file that was originally on DOS-type operating systems. It is a plain-text batch file in the root directory of the boot device. The name of the file is an abbreviation of "automatic execution", which describes its function in automatically executing commands on system startup; the filename was coined in response to the 8.3 filename limitations of the FAT file system family.
The Recovery Console is a feature of the Windows 2000, Windows XP and Windows Server 2003 operating systems. It provides the means for administrators to perform a limited range of tasks using a command-line interface.
A batch file is a script file in DOS, OS/2 and Microsoft Windows. It consists of a series of commands to be executed by the command-line interpreter, stored in a plain text file. A batch file may contain any command the interpreter accepts interactively and use constructs that enable conditional branching and looping within the batch file, such as IF
, FOR
, and GOTO
labels. The term "batch" is from batch processing, meaning "non-interactive execution", though a batch file might not process a batch of multiple data.
In computing, pushd
and popd
are a pair of commands which allow users to quickly switch between the current and previous directory when using the command line. When called, they use a directory stack to sequentially save and retrieve directories visited by the user.
In computing, choice
is a command that allows for batch files to prompt the user to select one item from a set of single-character choices. It is available in a number of operating system command-line shells.
In computing, title
is a command in various command-line interpreters (shells) on Microsoft Windows and ReactOS that changes the title for the graphical terminal emulator window. The command is also used within DFS and ADFS to change the title of the disc in the current drive.
In computing, start
is a command of the IBM OS/2, Microsoft Windows and ReactOS command-line interpreter cmd.exe to start programs or batch files or to open files or directories using the default program. start
is not available as a standalone program. The underlying Win32 API is ShellExecute
.
In computing, net
is a command in IBM OS/2, Microsoft Windows, ReactOS and Greentea OS used to manage and configure the operating system from the command-line. It is also part of the IBM PC Network Program for DOS.
A command-line interface (CLI) is a means of interacting with a computer program by inputting lines of text called command-lines. Command-line interfaces emerged in the mid-1960s, on computer terminals, as an interactive and more user-friendly alternative to the non-interactive interface available with punched cards.
In computing, ftype
is a command-line utility on Microsoft Windows that is used to display or change the link between a file type and an executable program.
forfiles
is a computer software utility for Microsoft Windows, which selects files and runs a command on them. File selection criteria include name and last modified date. The command specifier supports some special syntax options. It can be used directly on the command line, or in batch files or other scripts.
In computing, dpath
is an internal cmd.exe command on IBM OS/2 and Microsoft Windows that allows using a set of files with the TYPE
command and with input redirection as if they are in the current directory. On Windows it is undocumented and deprecated. dpath
differs from the append
command in the way it operates. dpath
informs programs what directories they should search in order to find computer files. It is then up to the applications to recognize %DPATH%
. Using the append
command on the other side, programs are able to find files without recognizing that the command is in effect.