CMD.exe
Start a new CMD shell
Syntax CMD [charset] [options] [My_Command] Options /C Carries out My_Command and then terminates /K Carries out My_Command but remains My_Command : The NT command, program or batch script to be run. This can even be several commands separated with '&&' (the whole should also be surrounded by "quotes") /T:fg Sets the foreground/background colours /X Enable extensions to CMD.EXE under Windows 2000 you can also use /E:ON /Y Disable extensions to CMD.EXE under Windows 2000 you can also use /E:OFF /A Output ANSI Characters /U Output UNICODE Characters These 2 swiches are useful when piping or redirecting to a file Most common text files under WinNT are ANSI, use these switches when you need to convert the character set. more below
Win2K / XP switches
The CMD switches below were first introduced with Windows 2000
/D Ignore registry AutoRun commands HKLM | HKCU \Software\Microsoft\Command Processor\AutoRun /F:ON Enable auto-completion of pathnames entered at the CMD prompt /F:OFF Disable auto-completion of pathnames entered at the CMD prompt (default) At the command prompt Ctrl-D gives folder name completion and Ctrl-F gives file and folder name completion. These ctrl keys build up a list of paths that match and display the first matching path. Thereafter, repeated pressing of the same control key will cycle through the list of matching paths. Pressing SHIFT with the control key will move through the list backwards. /Q Turn echo off /S Strip quote characters from the command_line /V:ON Enable delayed environment variable expansion this allows a FOR loop to specify !variable! instead of %variable% expanding the variable at execution time instead of at input time. /V:OFF Disable delayed environment expansion. Environment expansion preference can be set permanently in the registry HKLM | HKCU \Software\Microsoft\Command Processor\DelayedExpansion Set to either 0x1 or 0x0 /knetdiag /debug /knetdiag /fix The knetdiag switches are undocumented and work in XP only they list and (may) fix these networking issues. If /C or /K is specified, then the remainder of the command line is processed as an immediate command in the new shell. Multiple commands separated by the command separator '&&' are accepted if surrounded by quotes. The following logic is used to process quote (") characters: 1. If all of the following conditions are met, then quote characters on the command line are preserved: - no /S switch - exactly two quote characters - no special characters between the two quote characters, where special is one of: &<>()@^| - there are one or more whitespace characters between the the two quote characters - the string between the two quote characters is the name of an executable file. 2. Otherwise, old behavior is to see if the first character is a quote character and if so, strip the leading character and remove the last quote character on the command line, preserving any text after the last quote character.
Command.com vs cmd.exe
All the commands on these pages assume you are running the 32 bit command line
(cmd.exe)
CMD.exe is the NT/XP equivalent of Command.com in previous operating systems.
The older 16 bit command processor command.com is supplied to provide backward
compatibility
for 16 bit DOS applications. e.g. command.com will fail to set %errorlevel%
after certain commands.
To ensure that a batch file will not run if accidentally copied to a Windows
95/98 machine you should use the extension .CMD rather than .BAT
The COMSPEC environment variable will show if you are running CMD.EXE or command.com
Subject to licensing issues, it is possible to run the Windows 2000 or Win
XP version of CMD.EXE under NT. This is not true of all commands, e.g. any
command that involves NTFS disk access (such as cacls) should not be moved
between OS versions.
Opening CMD from Windows Explorer
You can open a new CMD prompt by choosing START, RUN, cmd, OK
Related Registry Keys:
;Allow UNC paths at command prompt [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Command Processor] "DisableUNCCheck"=dword:00000001
Previous Commands
Pressing the UP arrow will list previous commands entered at the command prompt.
Other DOSKEY function keys are loaded by
default (F7, F8, F9)
Copy and Paste
QuickEdit mode allows the use of cut and paste functions at the Command Prompt.
Open Control Panel, Console
and check the QuickEdit Mode box.
COPY:
With your left-mouse button, select a line of text, now right-click anywhere in the window to COPY. (in NT 4 there is no popup menu)
This saves the selected text to the clipboard.
PASTE:
Now right-click again anywhere in the CMD window to PASTE
the text to the command line.
Note: moving the cursor and toggling Insert/Overwrite is also possible.
Press ESC to cancel the selection and return to editing mode.
Using CMD in a batch script
In a batch script CMD will start a new instance of CMD.exe which will appear
in the same window. The EXIT command will close the second CMD instance and
return to the previous shell.
A method of calling one Batch script from another is to run a command like
CMD /c C:\docs\myscript.cmd
The output of CMD can be redirected into a text file. Notice that where CMD
/c is used, the EXIT command is not required.
The environment Variable %CMDCMDLINE% will expand into the original
command line passed to CMD.EXE
Pausing a batch script
Execution of any batch script can be paused by pressing CTRL-S
This also works for pausing a single command such as a DIR listing
Pressing any key will resume the operation.
Stopping a batch script from running
Execution of any batch script can be stopped by pressing CTRL-C
If one batch file CALLs another batch file CTRL-C will
exit both batch scripts.
If CMD /c is used to call one batch file from another then CTRL-C will cause
only one of the batch scripts to terminate. (see also EXIT)
Long Commands
Under Windows NT, the command line is limited to 256 characters.
Under Windows 2000, the command line is limited to 2046 characters.
Under Windows XP, the command line is limited to 8190 characters.
For all OS's NTFS and FAT allows pathnames
of up to 260 characters.
A workaround for the limited pathname length is to prefix \\?\
for example:
\\?\C:\TEMP\Long_Directory\Long_Filename.txt
The above limits are often encountered when using long share names or drag and
dropping files onto a batch script.
Full Screen
The key combination ALT and ENTER will switch a CMD window to full screen
mode.
press ALT and ENTER again to return to a normal Window.
Command Extensions
Much of the functionality of CMD.exe can be disabled - this will affect all
the internal commands, Command Extensions are enabled by default. This is controlled
by setting a value in the registry: HKCU\Software\Microsoft\Command Processor\EnableExtensions
Alternatively under Win XP you can run CMD /e:on or CMD /e:off
"Those who can command themselves, command others" - Hazlitt
Related commands:
EXIT - Use this to close a CMD shell and return.
CALL - Call one batch program from another
START - Start a separate window to run a specified
program or command
DOSKEY Edit command line, recall commands
Q156276 - Cmd does not
support UNC names as the current directory
Equivalent Linux BASH commands:
builtin - Run a shell builtin
bash - run the bash shell
csh - run the C shell
ksh - run the Korn shell
sh - run the Bourne shell