CMD.EXE is windows NT
's 32-bit command interpreter.
In order to add new features, and yet keep compatibility with NT 3
and windows 3.1
, it was decided to use a completely new program, and keep command.com for running batch files
that expected to be running on earlier operating systems.
CMD.EXE is similar to the windows 95
shell, in that it properly supports long filenames.
'CD "My Music"
' works fine in CMD.EXE, but under COMMAND.COM, you must know the short file name. NT doesn't use the same scheme for producing short file name
s as 9X
, and depending on how NT is set up, there might not even be one. dir /x
will show short filenames in command.com
Like in windows 95, CMD.EXE responds to close request
s properly. Clicking the close button on a CMD.EXE window will exit cleanly, while a COMMAND.COM window will ignore it, and NT will ask for permission to terminate the process.
CMD.EXE can resolve UNC
paths straight from the command-line with no hacks. 'c:\>\\server1\scripts\install.bat
', for example. Windows 9x requires that a drive letter be inserted - 'c:\>c:\\server1\scripts\install.bat
'. This behaviour is probably intended to add UNC support to legacy programs, as many DOS programs don't bother checking for \\
s in their paths. CMD.EXE can perform tab completion
of UNC paths once a \\server\share
has been typed in.
Improvements over 95 include features borrowed from unix tab completion
clone), improved scripting commands (FOR, SETLOCAL, &&, || etc.) and various NT-specific commands (CACLS, COMPACT, etc.).
For help with CMD.EXE commands, see 'command reference', and 'new features in Windows 2000, command differences' in windows help, or type 'help' on the command line
. See also: tab completion
for how to enable it under 2000.