DOS is dead, long live the command line
Before proceeding further, I wish to clear up a common misconception that
the command prompt in Windows XP is the same as DOS. Even some experts who
know better sometimes refer to the command prompt as a “DOS window”.
In fact, Microsoft itself isn't always careful about the distinction. There
are some superficial resemblances and some commands with the same name but
in fact the old 16-bit DOS is dead. All remnants of DOS are totally gone
from the Windows XP kernel (there is a DOS
emulator for legacy programs).
Windows XP is a 32-bit protected memory system with a totally different approach
from the DOS/9X/Me family. The command line in XP has many more capabilities
and none of the 16-bit limitations like the restriction to the DOS 8.3 file
name format. The augmented capabilities make the command line a powerful
tool.
The command prompt window
The command prompt is run from its own window by invoking the Windows XP
command interpreter that is provided by the file
cmd.exe located
in the folder
\Windows\System32\. (The old DOS
command interpreter is
command.com.) If you look in this folder
you may also see several files that look suspiciously like some of the old
DOS files. They are, however, different 32-bit versions with many new features.
The command prompt window can be opened by entering "cmd" (without
quotes) into
Start-Run or through
Start-All
Programs-Accessories.
A black and white window (the
colors can be changed) containing the command prompt
will open. The window looks just like the old DOS window but don’t be fooled,
it isn’t. Note that it is possible to open several windows containing command
prompts, all running independently. It is even possible to run a separate command
prompt shell inside another command prompt window.
Internal and external commands
There are two kinds of commands that can be run from the command prompt.
There are the internal commands that are built into the command interpreter
like “del” and “dir”.
These commands can only be run from a command prompt (or by invoking the command
interpreter in some other way). They are listed in the table below. There
is also a large list of external commands that use an additional executable
file that can be run from either the command prompt or the
Start-Run
line.
Details of the various commands are available in several places. In the Professional
version of Windows XP there is a help file
ntcmds.chm,
which has details of all the commands and their many switches. The help file
can be opened by entering (without the quotes) "hh
ntcmds.chm" into
Start-Run. It may or may not be in the Home Edition, depending
on what setup you have. However, in both versions a list of many (but not all)
of the commands available can be obtained by entering "help" (without
quotes) into a command prompt. For more detail on a specific command, enter "help
command-name" or "command-name
/?" For example to get information on the command
xcopy, enter "help
xcopy" or "xcopy
/?”. Microsoft keeps moving things, but the last time I checked they had
a
command line reference at this link.
Some of the commonly used commands are discussed on
this
page and in the
list given here.
Table I. Internal commands in the command shell
| assoc |
dir |
move |
set |
| break |
echo |
path |
setlocal |
| call |
endlocal |
pause |
shift |
| cd |
exit |
popd |
start |
| cls |
for |
prompt |
time |
| color |
ftype |
pushd |
title |
| copy |
goto |
rd |
type |
| date |
if |
rem |
verify |
| del |
md |
ren |
volume |
Some symbols that are used
In addition to the commands, there are several symbols that are used. These modify or combine the actions of commands. The table below gives a list.
Table II. Symbols used with commands
| Symbol |
Function | Example |
| > |
Sends output to a named file. If file does not exist, it creates one.
Overwrites existing file |
command > somefile |
| >> |
Appends output to contents of a named file or creates a file if none
exists |
command >> somefile |
| < |
Uses contents of a named file as input to a command |
command < somefile |
| ¦ |
Sends ("pipes") the output of command1 to the input of command2 |
command1 ¦ command2 |
| & |
Used to combine two commands. Executes command1 and then command2 |
command1 & command2 |
| && |
A conditional combination. Executes command2 if command1 completes
successfully |
command1 && command2 |
| ¦¦ |
Command2 executes only if command1 does not complete successfully. |
command1 ¦¦ command2 |
| @ |
Used in batch files at the beginning of a line to turn off the display
of commands |
@echo off |
The most commonly used symbols are the two redirection symbols ">" and ">>"
and the so-called pipe, "¦" . (Just to make sure there is
no confusion, the
"pipe" is the symbol above the back slash on most keyboards. On
keyboards it has a break in the middle but the break does not always show when
you type the symbol. A special code is used to show it on a Web page.)
A frequent use of the redirection is to save some output to a text file. For
example the command dir somefolder > somefile.txtsends a list
of the files in "somefolder" to a text file "somefile.txt".
More about this type of use is on
this page. A common use of the "pipe" is to control the screen
display of some command with a lot of output. For example, if you want to check
the list of files in a folder with many files, you can display one full screen
at a time by piping to the command "more" dir somefolder ¦
more
Back to top