|
|
|
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
charset
/A Output ANSI Characters
/U Output UNICODE Characters
These 2 swiches might be useful when piping or redirecting to a file
Most common text files under WinNT are ANSI, only use these switches
if you need to convert the character set.
see below for other Win2K and XP options
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 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.
To ensure that an NT 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
It is possible to run the Windows 2000 CMD.EXE under NT 4.0
Opening a CMD window
You can open a new CMD prompt by choosing START, RUN, cmd, OK
To open a CMD prompt from Windows Explorer with the current directory set to
the selected folder - you can add a right mouse context menu:
In Explorer choose, View, Options (or Tools, Options), File Types
Scroll down to "Folder" and add a New action: CMD.EXE
call the Action:
CMD Prompt here...
and set the Application used to perform action:
CMD.EXE
Copy and paste in a DOS window
You can use NT's cut and paste functions between the Command Prompt and Notepad
(or any other text editor).
First, you have to make sure you're in QuickEdit mode.
In NT 4 QuickEdit is OFF by default, in Windows 2000 it is ON by default.
Open Control Panel, Console and check the QuickEdit Mode box.
Now open a Command Prompt window.
Type DIR and press Enter.
With your left-mouse button, select a line of text, now right-click
anywhere in the Command Prompt window to COPY. (in NT 4 there is no popup menu;
a right click anywhere will COPY)
This saves the selected text to Clipboard.
Now right-click again anywhere in the Command Prompt window to PASTE
the text to the command line.
If nothing is selected a right-click will always PASTE.
When you select text in a DOS window with the Left mouse button, the window
is in SELECT MODE - press ESC to 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
Stopping a batch script from running
Execution of any batch can be broken by the user 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.
Long Commands
Under Windows NT, the command line is limited to 256 characters.
This means you can drag and drop any long filename (or folder) onto a batch
file icon - but drag and drop of multiple long filenames may be problematic.
The command processor was patched from NT 4 Service Pack 4 to prevent
this limitation from causing a stack overflow.
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.
Win2K / XP switches
Windows 2000 adds these new switches to CMD
/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
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 Extensions
Much of the functionality of CMD.exe can be disabled - this will affect all
of NT's 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
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
Equivalent Linux BASH commands:
builtin - Run a shell builtin
bash - run the bash shell
chroot - Run a command with a different root
directory
csh - run the C shell
exec - Execute a command
ksh - run the Korn shell
sh - run the Bourne shell
|
|