;/*++ BUILD Version: 0e001 // Increment this if a change has global effects
;
;Copyright (c) 1991 Microsoft Corporation
;
;Module Name:
;
; cmdmsg.h
;
;Abstract:
;
; This file contains the message definitions for the Win32 CMD.EXE
; program.
;
;Author:
;
; Steve Wood (stevewo) 25-Jan-1991
;
;Revision History:
;
;Notes:
;
; This file is generated by the MC tool from the winerror.msg file.
;
;--*/
;
;#ifndef _CMDMSG_
;#define _CMDMSG_
;
;
;#define MSG_FIRST_CMD_MSG_ID MSG_NOYES_RESPONSE_DATA
MessageId=9000 SymbolicName=MSG_NOYES_RESPONSE_DATA
Language=English
NY%0
.
MessageId=9001 SymbolicName=MSG_BAD_PARM1
Language=English
An incorrect parameter was
entered for the command.
.
MessageId=9002 SymbolicName=MSG_BAD_SYNTAX
Language=English
The syntax of the command is incorrect.
.
MessageId=9003 SymbolicName=MSG_STRIKE_ANY_KEY
Language=English
Press any key to continue . . . %0
.
MessageId=9004 SymbolicName=MSG_CMD_DELETE
Language=English
%1, Delete (Y/N)? %0
.
MessageId=9006 SymbolicName=MSG_REN_INVAL_PATH_FILENAME
Language=English
The system cannot accept the path
or file name requested.
.
MessageId=9007 SymbolicName=MSG_INVALID_DATE
Language=English
The system cannot accept the date entered.
.
MessageId=9008 SymbolicName=MSG_NO_BAT_LABEL
Language=English
No batch label specified to GOTO command.
.
MessageId=9009 SymbolicName=MSG_DIR_BAD_COMMAND_OR_FILE
Language=English
'%1' is not recognized as an internal or external command,
operable program or batch file.
.
MessageId=9010 SymbolicName=MSG_REN_INVALID_TIME
Language=English
The system cannot accept the time entered.
.
MessageId=9012 SymbolicName=MSG_COPYRIGHT
Language=English
(C) Copyright 1985-2003 Microsoft Corp.
.
MessageId=9013 SymbolicName=MSG_C
Language=English
^C
.
MessageId=9014 SymbolicName=MSG_FILES_COPIED
Language=English
%1 file(s) copied.
.
MessageId=9015 SymbolicName=MSG_CURRENT_DATE
Language=English
The current date is: %0
.
MessageId=9016 SymbolicName=MSG_CURRENT_TIME
Language=English
The current time is: %0
.
MessageId=9017 SymbolicName=MSG_DIR_OF
Language=English
Directory of %1
.
MessageId=9018 SymbolicName=MSG_OUT_OF_ENVIRON_SPACE
Language=English
The system is out of environment space.
.
MessageId=9020 SymbolicName=MSG_EXEC_FAILURE
Language=English
The system cannot execute the specified program.
.
MessageId=9023 SymbolicName=MSG_LINES_TOO_LONG
Language=English
The input line is too long.
.
MessageId=9024 SymbolicName=MSG_CONT_LOST_BEF_COPY
Language=English
The contents of the target file
were lost.
.
MessageId=9025 SymbolicName=MSG_INSRT_DISK_BAT
Language=English
Insert the diskette that contains the batch file
and press any key when ready. %0
.
MessageId=9026 SymbolicName=MSG_ENTER_NEW_DATE
Language=English
Enter the new date: (mm-dd-yy) %0
.
MessageId=9027 SymbolicName=MSG_ENTER_NEW_TIME
Language=English
Enter the new time: %0
.
MessageId=9028 SymbolicName=MSG_RDR_HNDL_CREATE
Language=English
The handle could not be duplicated
during redirection of handle %1.
.
MessageId=9029 SymbolicName=MSG_ECHO_OFF
Language=English
ECHO is off.
.
MessageId=9030 SymbolicName=MSG_ECHO_ON
Language=English
ECHO is on.
.
MessageId=9031 SymbolicName=MSG_VERIFY_OFF
Language=English
VERIFY is off.
.
MessageId=9032 SymbolicName=MSG_VERIFY_ON
Language=English
VERIFY is on.
.
MessageId=9033 SymbolicName=MSG_CANNOT_COPIED_ONTO_SELF
Language=English
The file cannot be copied onto itself.
.
MessageId=9034 SymbolicName=MSG_SYNERR_GENL
Language=English
%1 was unexpected at this time.
.
MessageId=9036 SymbolicName=MSG_PID_IS
Language=English
The Process Identification Number is %1.
.
MessageId=9037 SymbolicName=MSG_DUP_FILENAME_OR_NOT_FD
Language=English
A duplicate file name exists, or the file
cannot be found.
.
MessageId=9038 SymbolicName=MSG_ARE_YOU_SURE
Language=English
%1, Are you sure (Y/N)? %0
.
MessageId=9039 SymbolicName=MSG_TOKEN_TOO_LONG
Language=English
The following character string is too long:
%1
.
MessageId=9040 SymbolicName=MSG_MS_DOS_VERSION
Language=English
Microsoft Windows [Version %1]%0
.
MessageId=9041 SymbolicName=MSG_PIPE_FAILURE
Language=English
The handle could not be duplicated during
a pipe operation.
.
MessageId=9042 SymbolicName=MSG_MS_MORE
Language=English
More? %0
.
MessageId=9043 SymbolicName=MSG_REAL_MODE_ONLY
Language=English
The system cannot complete the process.
.
MessageId=9044 SymbolicName=MSG_TYPE_FILENAME
Language=English
%1
.
MessageId=9051 SymbolicName=MSG_DR_VOL_SERIAL
Language=English
Volume Serial Number is %1
.
MessageId=9052 SymbolicName=MSG_DIR_EXISTS
Language=English
A subdirectory or file %1 already exists.
.
MessageId=9053 SymbolicName=MSG_ERR_PROC_ARG
Language=English
Error occurred while processing: %1.
.
MessageId=9054 SymbolicName=MSG_HAS_NO_LABEL
Language=English
Volume in drive %1 has no label.
.
MessageId=9055 SymbolicName=MSG_DR_VOL_LABEL
Language=English
Volume in drive %1 is %2
.
MessageId=9056 SymbolicName=MSG_KEYS_ON
Language=English
KEYS is on.
.
MessageId=9057 SymbolicName=MSG_KEYS_OFF
Language=English
KEYS is off.
.
MessageId=9058 SymbolicName=MSG_START_INVALID_PARAMETER
Language=English
The system cannot accept the START command parameter %1.
.
MessageId=9059 SymbolicName=MSG_CMD_FILE_NOT_FOUND
Language=English
The system cannot find the file %1.
.
MessageId=9060 SymbolicName=MSG_CMD_INVAL_PIPE
Language=English
The process tried to write to a nonexistent pipe.
.
MessageId=9067 SymbolicName=MSG_CMD_NOT_RECOGNIZED
Language=English
"%1" is not a recognized device.
.
MessageId=9068 SymbolicName=MSG_CMD_BATCH_FILE_MISSING
Language=English
The batch file cannot be found.
.
MessageId=9069 SymbolicName=MSG_DIRS_MOVED
Language=English
%1 dir(s) moved.
.
MessageId=9070 SymbolicName=MSG_FILES_MOVED
Language=English
%1 file(s) moved.
.
MessageId=9071 SymbolicName=MSG_TRAPC
Language=English
A program attempted to reference storage outside the
limits of a stack segment. The program was ended.
%1
.
MessageId=9073 SymbolicName=MSG_LITERAL_TEXT
Language=English
%1%0
.
MessageId=9074 SymbolicName=MSG_NOT_IMPLEMENTED
Language=English
Command not implemented.
.
MessageId=9075 SymbolicName=MSG_DIR
Language=English
%0
.
MessageId=9076 SymbolicName=MSG_NO_MEMORY
Language=English
Out of memory.
.
MessageId=9077 SymbolicName=MSG_INVALID_SWITCH
Language=English
Invalid switch - "%1".
.
MessageId=9078 SymbolicName=MSG_PARAMETER_FORMAT_NOT_CORRECT
Language=English
Parameter format not correct - "%1".
.
MessageId=9079 SymbolicName=MSG_ERROR_IN_DIRCMD
Language=English
(Error occurred in environment variable)
.
MessageId=9080 SymbolicName=MSG_FILES_COUNT_FREE
Language=English
%1 File(s) %2 bytes
.
MessageId=9081 SymbolicName=MSG_FILES_TOTAL_FREE
Language=English
%1 Dir(s) %2 bytes free
.
MessageId=9082 SymbolicName=MSG_FILE_TOTAL
Language=English
Total Files Listed:
.
MessageId=9083 SymbolicName=MSG_BATCH_TERM
Language=English
Terminate batch job (Y/N)? %0
.
MessageId=9084 SymbolicName=MSG_BAD_CURDIR
Language=English
The current directory is invalid.
.
MessageId=9085 SymbolicName=MSG_HELP_CHDIR
Language=English
Displays the name of or changes the current directory.
CHDIR [/D] [drive:][path]
CHDIR [..]
CD [/D] [drive:][path]
CD [..]
.. Specifies that you want to change to the parent directory.
Type CD drive: to display the current directory in the specified drive.
Type CD without parameters to display the current drive and directory.
Use the /D switch to change current drive in addition to changing current
directory for a drive.
.
MessageId=9086 SymbolicName=MSG_HELP_CLS
Language=English
Clears the screen.
CLS
.
MessageId=9087 SymbolicName=MSG_HELP_COPY
Language=English
Copies one or more files to another location.
COPY [/D] [/V] [/N] [/Y | /-Y] [/Z] [/A | /B ] source [/A | /B]
[+ source [/A | /B] [+ ...]] [destination [/A | /B]]
source Specifies the file or files to be copied.
/A Indicates an ASCII text file.
/B Indicates a binary file.
/D Allow the destination file to be created decrypted
destination Specifies the directory and/or filename for the new file(s).
/V Verifies that new files are written correctly.
/N Uses short filename, if available, when copying a file with a
non-8dot3 name.
/Y Suppresses prompting to confirm you want to overwrite an
existing destination file.
/-Y Causes prompting to confirm you want to overwrite an
existing destination file.
/Z Copies networked files in restartable mode.
The switch /Y may be preset in the COPYCMD environment variable.
This may be overridden with /-Y on the command line. Default is
to prompt on overwrites unless COPY command is being executed from
within a batch script.
To append files, specify a single file for destination, but multiple files
for source (using wildcards or file1+file2+file3 format).
.
MessageId=9088 SymbolicName=MSG_HELP_DATE
Language=English
Displays or sets the date.
DATE [/T | date]
Type DATE without parameters to display the current date setting and
a prompt for a new one. Press ENTER to keep the same date.
.
MessageId=9089 SymbolicName=MSG_HELP_DEL_ERASE
Language=English
Deletes one or more files.
DEL [/P] [/F] [/S] [/Q] [/A[[:]attributes]] names
ERASE [/P] [/F] [/S] [/Q] [/A[[:]attributes]] names
names Specifies a list of one or more files or directories.
Wildcards may be used to delete multiple files. If a
directory is specified, all files within the directory
will be deleted.
/P Prompts for confirmation before deleting each file.
/F Force deleting of read-only files.
/S Delete specified files from all subdirectories.
/Q Quiet mode, do not ask if ok to delete on global wildcard
/A Selects files to delete based on attributes
attributes R Read-only files S System files
H Hidden files A Files ready for archiving
- Prefix meaning not
.
MessageId=9090 SymbolicName=MSG_HELP_DIR
Language=English
Displays a list of files and subdirectories in a directory.
DIR [drive:][path][filename] [/A[[:]attributes]] [/B] [/C] [/D] [/L] [/N]
[/O[[:]sortorder]] [/P] [/Q] [/S] [/T[[:]timefield]] [/W] [/X] [/4]
[drive:][path][filename]
Specifies drive, directory, and/or files to list.
/A Displays files with specified attributes.
attributes D Directories R Read-only files
H Hidden files A Files ready for archiving
S System files - Prefix meaning not
/B Uses bare format (no heading information or summary).
/C Display the thousand separator in file sizes. This is the
default. Use /-C to disable display of separator.
/D Same as wide but files are list sorted by column.
/L Uses lowercase.
/N New long list format where filenames are on the far right.
/O List by files in sorted order.
sortorder N By name (alphabetic) S By size (smallest first)
E By extension (alphabetic) D By date/time (oldest first)
G Group directories first - Prefix to reverse order
/P Pauses after each screenful of information.
/Q Display the owner of the file.
/S Displays files in specified directory and all subdirectories.
/T Controls which time field displayed or used for sorting
timefield C Creation
A Last Access
W Last Written
/W Uses wide list format.
/X This displays the short names generated for non-8dot3 file
names. The format is that of /N with the short name inserted
before the long name. If no short name is present, blanks are
displayed in its place.
/4 Displays four-digit years
Switches may be preset in the DIRCMD environment variable. Override
preset switches by prefixing any switch with - (hyphen)--for example, /-W.
.
MessageId=9091 SymbolicName=MSG_HELP_EXIT
Language=English
Quits the CMD.EXE program (command interpreter) or the current batch
script.
EXIT [/B] [exitCode]
/B specifies to exit the current batch script instead of
CMD.EXE. If executed from outside a batch script, it
will quit CMD.EXE
exitCode specifies a numeric number. if /B is specified, sets
ERRORLEVEL that number. If quitting CMD.EXE, sets the process
exit code with that number.
.
MessageId=9092 SymbolicName=MSG_HELP_MKDIR
Language=English
Creates a directory.
MKDIR [drive:]path
MD [drive:]path
.
MessageId=9093 SymbolicName=MSG_HELP_PATH
Language=English
Displays or sets a search path for executable files.
PATH [[drive:]path[;...][;%%PATH%%]
PATH ;
Type PATH ; to clear all search-path settings and direct cmd.exe to search
only in the current directory.
Type PATH without parameters to display the current path.
Including %%PATH%% in the new path setting causes the old path to be
appended to the new setting.
.
MessageId=9094 SymbolicName=MSG_HELP_PROMPT
Language=English
Changes the cmd.exe command prompt.
PROMPT [text]
text Specifies a new command prompt.
Prompt can be made up of normal characters and the following special codes:
$A & (Ampersand)
$B | (pipe)
$C ( (Left parenthesis)
$D Current date
$E Escape code (ASCII code 27)
$F ) (Right parenthesis)
$G > (greater-than sign)
$H Backspace (erases previous character)
$L < (less-than sign)
$N Current drive
$P Current drive and path
$Q = (equal sign)
$S (space)
$T Current time
$V Windows version number
$_ Carriage return and linefeed
$$ $ (dollar sign)
.
MessageId=9095 SymbolicName=MSG_HELP_RMDIR
Language=English
Removes (deletes) a directory.
RMDIR [/S] [/Q] [drive:]path
RD [/S] [/Q] [drive:]path
/S Removes all directories and files in the specified directory
in addition to the directory itself. Used to remove a directory
tree.
/Q Quiet mode, do not ask if ok to remove a directory tree with /S
.
MessageId=9096 SymbolicName=MSG_HELP_RENAME
Language=English
Renames a file or files.
RENAME [drive:][path]filename1 filename2.
REN [drive:][path]filename1 filename2.
Note that you cannot specify a new drive or path for your destination file.
.
MessageId=9097 SymbolicName=MSG_HELP_SET
Language=English
Displays, sets, or removes cmd.exe environment variables.
SET [variable=[string]]
variable Specifies the environment-variable name.
string Specifies a series of characters to assign to the variable.
Type SET without parameters to display the current environment variables.
.
MessageId=9098 SymbolicName=MSG_HELP_TIME
Language=English
Displays or sets the system time.
TIME [/T | time]
Type TIME with no parameters to display the current time setting and a prompt
for a new one. Press ENTER to keep the same time.
.
MessageId=9099 SymbolicName=MSG_HELP_TYPE
Language=English
Displays the contents of a text file or files.
TYPE [drive:][path]filename
.
MessageId=9100 SymbolicName=MSG_HELP_VER
Language=English
Displays the Windows version.
VER
.
MessageId=9101 SymbolicName=MSG_HELP_VERIFY
Language=English
Tells cmd.exe whether to verify that your files are written correctly to a
disk.
VERIFY [ON | OFF]
Type VERIFY without a parameter to display the current VERIFY setting.
.
MessageId=9102 SymbolicName=MSG_HELP_VOL
Language=English
Displays the disk volume label and serial number, if they exist.
VOL [drive:]
.
MessageId=9103 SymbolicName=MSG_HELP_CALL
Language=English
Calls one batch program from another.
CALL [drive:][path]filename [batch-parameters]
batch-parameters Specifies any command-line information required by the
batch program.
.
MessageId=9104 SymbolicName=MSG_HELP_REM
Language=English
Records comments (remarks) in a batch file or CONFIG.SYS.
REM [comment]
.
MessageId=9105 SymbolicName=MSG_HELP_PAUSE
Language=English
Suspends processing of a batch program and displays the message
Press any key to continue . . . %0
PAUSE
.
MessageId=9106 SymbolicName=MSG_HELP_ECHO
Language=English
Displays messages, or turns command-echoing on or off.
ECHO [ON | OFF]
ECHO [message]
Type ECHO without parameters to display the current echo setting.
.
MessageId=9107 SymbolicName=MSG_HELP_GOTO
Language=English
Directs cmd.exe to a labeled line in a batch program.
GOTO label
label Specifies a text string used in the batch program as a label.
You type a label on a line by itself, beginning with a colon.
.
MessageId=9108 SymbolicName=MSG_HELP_SHIFT
Language=English
Changes the position of replaceable parameters in a batch file.
SHIFT [/n]
.
MessageId=9109 SymbolicName=MSG_HELP_IF
Language=English
Performs conditional processing in batch programs.
IF [NOT] ERRORLEVEL number command
IF [NOT] string1==string2 command
IF [NOT] EXIST filename command
NOT Specifies that Windows should carry out
the command only if the condition is false.
ERRORLEVEL number Specifies a true condition if the last program run
returned an exit code equal to or greater than the number
specified.
string1==string2 Specifies a true condition if the specified text strings
match.
EXIST filename Specifies a true condition if the specified filename
exists.
command Specifies the command to carry out if the condition is
met. Command can be followed by ELSE command which
will execute the command after the ELSE keyword if the
specified condition is FALSE
The ELSE clause must occur on the same line as the command after the IF. For
example:
IF EXIST filename. (
del filename.
) ELSE (
echo filename. missing.
)
The following would NOT work because the del command needs to be terminated
by a newline:
IF EXIST filename. del filename. ELSE echo filename. missing
Nor would the following work, since the ELSE command must be on the same line
as the end of the IF command:
IF EXIST filename. del filename.
ELSE echo filename. missing
The following would work if you want it all on one line:
IF EXIST filename. (del filename.) ELSE echo filename. missing
.
MessageId=9110 SymbolicName=MSG_HELP_FOR
Language=English
Runs a specified command for each file in a set of files.
FOR %%variable IN (set) DO command [command-parameters]
%%variable Specifies a single letter replaceable parameter.
(set) Specifies a set of one or more files. Wildcards may be used.
command Specifies the command to carry out for each file.
command-parameters
Specifies parameters or switches for the specified command.
To use the FOR command in a batch program, specify %%%%variable instead
of %%variable. Variable names are case sensitive, so %%i is different
from %%I.
.
MessageId=9111 SymbolicName=MSG_HELP_START
Language=English
Starts a separate window to run a specified program or command.
START ["title"] [/D path] [/I] [/MIN] [/MAX] [/SEPARATE | /SHARED]
[/LOW | /NORMAL | /HIGH | /REALTIME | /ABOVENORMAL | /BELOWNORMAL]
[/WAIT] [/B] [command/program]
[parameters]
"title" Title to display in window title bar.
path Starting directory
B Start application without creating a new window. The
application has ^C handling ignored. Unless the application
enables ^C processing, ^Break is the only way to interrupt
the application
I The new environment will be the original environment passed
to the cmd.exe and not the current environment.
MIN Start window minimized
MAX Start window maximized
SEPARATE Start 16-bit Windows program in separate memory space
SHARED Start 16-bit Windows program in shared memory space
LOW Start application in the IDLE priority class
NORMAL Start application in the NORMAL priority class
HIGH Start application in the HIGH priority class
REALTIME Start application in the REALTIME priority class
ABOVENORMAL Start application in the ABOVENORMAL priority class
BELOWNORMAL Start application in the BELOWNORMAL priority class
WAIT Start application and wait for it to terminate
command/program
If it is an internal cmd command or a batch file then
the command processor is run with the /K switch to cmd.exe.
This means that the window will remain after the command
has been run.
If it is not an internal cmd command or batch file then
it is a program and will run as either a windowed application
or a console application.
parameters These are the parameters passed to the command/program
.
MessageId=9112 SymbolicName=MSG_HELP_BREAK
Language=English
Sets or Clears Extended CTRL+C checking on DOS system
This is present for Compatibility with DOS systems. It has no effect
under Windows.
.
MessageId=9113 SymbolicName=MSG_HELP_CMD
Language=English
Starts a new instance of the Windows command interpreter
CMD [/A | /U] [/Q] [/D] [/E:ON | /E:OFF] [/F:ON | /F:OFF] [/V:ON | /V:OFF]
[[/S] [/C | /K] string]
/C Carries out the command specified by string and then terminates
/K Carries out the command specified by string but remains
/S Modifies the treatment of string after /C or /K (see below)
/Q Turns echo off
/D Disable execution of AutoRun commands from registry (see below)
/A Causes the output of internal commands to a pipe or file to be ANSI
/U Causes the output of internal commands to a pipe or file to be
Unicode
/T:fg Sets the foreground/background colors (see COLOR /? for more info)
/E:ON Enable command extensions (see below)
/E:OFF Disable command extensions (see below)
/F:ON Enable file and directory name completion characters (see below)
/F:OFF Disable file and directory name completion characters (see below)
/V:ON Enable delayed environment variable expansion using ! as the
delimiter. For example, /V:ON would allow !var! to expand the
variable var at execution time. The %var% syntax expands variables
at input time, which is quite a different thing when inside of a FOR
loop.
/V:OFF Disable delayed environment expansion.
Note that multiple commands separated by the command separator '&&'
are accepted for string if surrounded by quotes. Also, for compatibility
reasons, /X is the same as /E:ON, /Y is the same as /E:OFF and /R is the
same as /C. Any other switches are ignored.
If /C or /K is specified, then the remainder of the command line after
the switch is processed as a command line, where 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.
.
MessageId= SymbolicName=MSG_HELP_CMD1
Language=English
If /D was NOT specified on the command line, then when CMD.EXE starts, it
looks for the following REG_SZ/REG_EXPAND_SZ registry variables, and if
either or both are present, they are executed first.
HKEY_LOCAL_MACHINE\Software\Microsoft\Command Processor\AutoRun
and/or
HKEY_CURRENT_USER\Software\Microsoft\Command Processor\AutoRun
.
MessageId= SymbolicName=MSG_HELP_CMD_EXTENSIONS
Language=English
Command Extensions are enabled by default. You may also disable
extensions for a particular invocation by using the /E:OFF switch. You
can enable or disable extensions for all invocations of CMD.EXE on a
machine and/or user logon session by setting either or both of the
following REG_DWORD values in the registry using REGEDIT.EXE:
HKEY_LOCAL_MACHINE\Software\Microsoft\Command Processor\EnableExtensions
and/or
HKEY_CURRENT_USER\Software\Microsoft\Command Processor\EnableExtensions
to either 0x1 or 0x0. The user specific setting takes precedence over
the machine setting. The command line switches take precedence over the
registry settings.
The command extensions involve changes and/or additions to the following
commands:
DEL or ERASE
COLOR
CD or CHDIR
MD or MKDIR
PROMPT
PUSHD
POPD
SET
SETLOCAL
ENDLOCAL
IF
FOR
CALL
SHIFT
GOTO
START (also includes changes to external command invocation)
ASSOC
FTYPE
To get specific details, type commandname /? to view the specifics.
.
MessageId= SymbolicName=MSG_HELP_CMD_EXTENSIONS1
Language=English
Delayed environment variable expansion is NOT enabled by default. You
can enable or disable delayed environment variable expansion for a
particular invocation of CMD.EXE with the /V:ON or /V:OFF switch. You
can enable or disable delayed expansion for all invocations of CMD.EXE on a
machine and/or user logon session by setting either or both of the
following REG_DWORD values in the registry using REGEDIT.EXE:
HKEY_LOCAL_MACHINE\Software\Microsoft\Command Processor\DelayedExpansion
and/or
HKEY_CURRENT_USER\Software\Microsoft\Command Processor\DelayedExpansion
to either 0x1 or 0x0. The user specific setting takes precedence over
the machine setting. The command line switches take precedence over the
registry settings.
If delayed environment variable expansion is enabled, then the exclamation
character can be used to substitute the value of an environment variable
at execution time.
.
MessageId= SymbolicName=MSG_HELP_CMD_COMPLETION1
Language=English
You can enable or disable file name completion for a particular
invocation of CMD.EXE with the /F:ON or /F:OFF switch. You can enable
or disable completion for all invocations of CMD.EXE on a machine and/or
user logon session by setting either or both of the following REG_DWORD
values in the registry using REGEDIT.EXE:
HKEY_LOCAL_MACHINE\Software\Microsoft\Command Processor\CompletionChar
HKEY_LOCAL_MACHINE\Software\Microsoft\Command Processor\PathCompletionChar
and/or
HKEY_CURRENT_USER\Software\Microsoft\Command Processor\CompletionChar
HKEY_CURRENT_USER\Software\Microsoft\Command Processor\PathCompletionChar
with the hex value of a control character to use for a particular
function (e.g. 0x4 is Ctrl-D and 0x6 is Ctrl-F). The user specific
settings take precedence over the machine settings. The command line
switches take precedence over the registry settings.
If completion is enabled with the /F:ON switch, the two control
characters used are Ctrl-D for directory name completion and Ctrl-F for
file name completion. To disable a particular completion character in
the registry, use the value for space (0x20) as it is not a valid
control character.
.
MessageId= SymbolicName=MSG_HELP_CMD_COMPLETION2
Language=English
Completion is invoked when you type either of the two control
characters. The completion function takes the path string to the left
of the cursor appends a wild card character to it if none is already
present and builds up a list of paths that match. It then displays the
first matching path. If no paths match, it just beeps and leaves the
display alone. Thereafter, repeated pressing of the same control
character will cycle through the list of matching paths. Pressing the
Shift key with the control character will move through the list
backwards. If you edit the line in any way and press the control
character again, the saved list of matching paths is discarded and a new
one generated. The same occurs if you switch between file and directory
name completion. The only difference between the two control characters
is the file completion character matches both file and directory names,
while the directory completion character only matches directory names.
If file completion is used on any of the built in directory commands
(CD, MD or RD) then directory completion is assumed.
The completion code deals correctly with file names that contain spaces
or other special characters by placing quotes around the matching path.
Also, if you back up, then invoke completion from within a line, the
text to the right of the cursor at the point completion was invoked is
discarded.
The special characters that require quotes are:
&()[]{}^=;!%'+,`~
.
MessageId= SymbolicName=MSG_EXT_ENABLED
Language=English
Command Processor Extensions Enabled
.
MessageId= SymbolicName=MSG_EXT_ENABLED_BY_DEFAULT
Language=English
Command Processor Extensions enabled by default. Use CMD /? for details.
.
MessageId= SymbolicName=MSG_FILE_DELETED
Language=English
Deleted file - %1
.
MessageId= SymbolicName=MSG_HELP_ASSOC
Language=English
Displays or modifies file extension associations
ASSOC [.ext[=[fileType]]]
.ext Specifies the file extension to associate the file type with
fileType Specifies the file type to associate with the file extension
Type ASSOC without parameters to display the current file associations.
If ASSOC is invoked with just a file extension, it displays the current
file association for that file extension. Specify nothing for the file
type and the command will delete the association for the file extension.
.
MessageID= SymbolicName=MSG_ASSOC_NOT_FOUND
Language=English
File association not found for extension %1
.
MessageId= SymbolicName=MSG_HELP_FTYPE
Language=English
Displays or modifies file types used in file extension associations
FTYPE [fileType[=[openCommandString]]]
fileType Specifies the file type to examine or change
openCommandString Specifies the open command to use when launching files
of this type.
Type FTYPE without parameters to display the current file types that
have open command strings defined. FTYPE is invoked with just a file
type, it displays the current open command string for that file type.
Specify nothing for the open command string and the FTYPE command will
delete the open command string for the file type. Within an open
command string %%0 or %%1 are substituted with the file name being
launched through the assocation. %%* gets all the parameters and %%2
gets the 1st parameter, %%3 the second, etc. %%~n gets all the remaining
parameters starting with the nth parameter, where n may be between 2 and 9,
inclusive. For example:
ASSOC .pl=PerlScript
FTYPE PerlScript=perl.exe %%1 %%*
would allow you to invoke a Perl script as follows:
script.pl 1 2 3
If you want to eliminate the need to type the extensions, then do the
following:
set PATHEXT=.pl;%%PATHEXT%%
and the script could be invoked as follows:
script 1 2 3
.
MessageID= SymbolicName=MSG_FTYPE_NOT_FOUND
Language=English
File type '%1' not found or no open command associated with it.
.
MessageID= SymbolicName=MSG_SETLOCAL_BAD_ARG
Language=English
Invalid parameter to SETLOCAL command
.
MessageID= SymbolicName=MSG_NO_COPYFILEEX
Language=English
The restartable option to the COPY command is not supported by
this version of the operating system.
.
MessageID= SymbolicName=MSG_PATH_OPERATOR_INVALID
Language=English
The following usage of the path operator in batch-parameter
substitution is invalid: %1
For valid formats type CALL /? or FOR /?
.
MessageID= SymbolicName=MSG_ENV_VAR_NOT_FOUND
Language=English
Environment variable %1 not defined
.
MessageID= SymbolicName=MSG_CALL_LABEL_INVALID
Language=English
Invalid attempt to call batch label outside of batch script.
.
MessageId= SymbolicName=MSG_MISSING_BAT_LABEL
Language=English
The system cannot find the batch label specified - %1
.
MessageId= SymbolicName=MSG_UNICODE_NOT_SUPPORTED
Language=English
The unicode output option to CMD.EXE is not supported by this
version of the operating system.
.
MessageId= SymbolicName=MSG_HELP_DEL_ERASE_X
Language=English
If Command Extensions are enabled DEL and ERASE change as follows:
The display semantics of the /S switch are reversed in that it shows
you only the files that are deleted, not the ones it could not find.
.
MessageId= SymbolicName=MSG_HELP_CHDIR_X
Language=English
If Command Extensions are enabled CHDIR changes as follows:
The current directory string is converted to use the same case as
the on disk names. So CD C:\TEMP would actually set the current
directory to C:\Temp if that is the case on disk.
CHDIR command does not treat spaces as delimiters, so it is possible to
CD into a subdirectory name that contains a space without surrounding
the name with quotes. For example:
cd \winnt\profiles\username\programs\start menu
is the same as:
cd "\winnt\profiles\username\programs\start menu"
which is what you would have to type if extensions were disabled.
.
MessageId= SymbolicName=MSG_HELP_MKDIR_X
Language=English
If Command Extensions are enabled MKDIR changes as follows:
MKDIR creates any intermediate directories in the path, if needed.
For example, assume \a does not exist then:
mkdir \a\b\c\d
is the same as:
mkdir \a
chdir \a
mkdir b
chdir b
mkdir c
chdir c
mkdir d
which is what you would have to type if extensions were disabled.
.
MessageId= SymbolicName=MSG_HELP_DATE_X
Language=English
If Command Extensions are enabled the DATE command supports
the /T switch which tells the command to just output the
current date, without prompting for a new date.
.
MessageId= SymbolicName=MSG_HELP_TIME_X
Language=English
If Command Extensions are enabled the TIME command supports
the /T switch which tells the command to just output the
current time, without prompting for a new time.
.
MessageId= SymbolicName=MSG_HELP_PROMPT_X
Language=English
If Command Extensions are enabled the PROMPT command supports
the following additional formatting characters:
$+ zero or more plus sign (+) characters depending upon the
depth of the PUSHD directory stack, one character for each
level pushed.
$M Displays the remote name associated with the current drive
letter or the empty string if current drive is not a network
drive.
.
MessageId= SymbolicName=MSG_HELP_PUSHDIR_X
Language=English
If Command Extensions are enabled the PUSHD command accepts
network paths in addition to the normal drive letter and path.
If a network path is specified, PUSHD will create a temporary
drive letter that points to that specified network resource and
then change the current drive and directory, using the newly
defined drive letter. Temporary drive letters are allocated from
Z: on down, using the first unused drive letter found.
.
MessageId= SymbolicName=MSG_HELP_POPDIR_X
Language=English
If Command Extensions are enabled the POPD command will delete
any temporary drive letter created by PUSHD when you POPD that
drive off the pushed directory stack.
.
MessageId= SymbolicName=MSG_HELP_SET_X
Language=English
If Command Extensions are enabled SET changes as follows:
SET command invoked with just a variable name, no equal sign or value
will display the value of all variables whose prefix matches the name
given to the SET command. For example:
SET P
would display all variables that begin with the letter 'P'
SET command will set the ERRORLEVEL to 1 if the variable name is not
found in the current environment.
SET command will not allow an equal sign to be part of the name of
a variable.
Two new switches have been added to the SET command:
SET /A expression
SET /P variable=[promptString]
The /A switch specifies that the string to the right of the equal sign
is a numerical expression that is evaluated. The expression evaluator
is pretty simple and supports the following operations, in decreasing
order of precedence:
() - grouping
! ~ - - unary operators
* / %% - arithmetic operators
+ - - arithmetic operators
<< >> - logical shift
& - bitwise and
^ - bitwise exclusive or
| - bitwise or
= *= /= %%= += -= - assignment
&= ^= |= <<= >>=
, - expression separator
If you use any of the logical or modulus operators, you will need to
enclose the expression string in quotes. Any non-numeric strings in the
expression are treated as environment variable names whose values are
converted to numbers before using them. If an environment variable name
is specified but is not defined in the current environment, then a value
of zero is used. This allows you to do arithmetic with environment
variable values without having to type all those %% signs to get their
values. If SET /A is executed from the command line outside of a
command script, then it displays the final value of the expression. The
assignment operator requires an environment variable name to the left of
the assignment operator. Numeric values are decimal numbers, unless
prefixed by 0x for hexadecimal numbers, and 0 for octal numbers.
So 0x12 is the same as 18 is the same as 022. Please note that the octal
notation can be confusing: 08 and 09 are not valid numbers because 8 and
9 are not valid octal digits.
.
MessageId=
Language=English
The /P switch allows you to set the value of a variable to a line of input
entered by the user. Displays the specified promptString before reading
the line of input. The promptString can be empty.
Environment variable substitution has been enhanced as follows:
%%PATH:str1=str2%%
would expand the PATH environment variable, substituting each occurrence
of "str1" in the expanded result with "str2". "str2" can be the empty
string to effectively delete all occurrences of "str1" from the expanded
output. "str1" can begin with an asterisk, in which case it will match
everything from the beginning of the expanded output to the first
occurrence of the remaining portion of str1.
May also specify substrings for an expansion.
%%PATH:~10,5%%
would expand the PATH environment variable, and then use only the 5
characters that begin at the 11th (offset 10) character of the expanded
result. If the length is not specified, then it defaults to the
remainder of the variable value. If either number (offset or length) is
negative, then the number used is the length of the environment variable
value added to the offset or length specified.
%%PATH:~-10%%
would extract the last 10 characters of the PATH variable.
%%PATH:~0,-2%%
would extract all but the last 2 characters of the PATH variable.
.
MessageId=
Language=English
Finally, support for delayed environment variable expansion has been
added. This support is always disabled by default, but may be
enabled/disabled via the /V command line switch to CMD.EXE. See CMD /?
Delayed environment variable expansion is useful for getting around
the limitations of the current expansion which happens when a line
of text is read, not when it is executed. The following example
demonstrates the problem with immediate variable expansion:
set VAR=before
if "%%VAR%%" == "before" (
set VAR=after
if "%%VAR%%" == "after" @echo If you see this, it worked
)
would never display the message, since the %%VAR%% in BOTH IF statements
is substituted when the first IF statement is read, since it logically
includes the body of the IF, which is a compound statement. So the
IF inside the compound statement is really comparing "before" with
"after" which will never be equal. Similarly, the following example
will not work as expected:
set LIST=
for %%i in (*) do set LIST=%%LIST%% %%i
echo %%LIST%%
in that it will NOT build up a list of files in the current directory,
but instead will just set the LIST variable to the last file found.
Again, this is because the %%LIST%% is expanded just once when the
FOR statement is read, and at that time the LIST variable is empty.
So the actual FOR loop we are executing is:
for %%i in (*) do set LIST= %%i
which just keeps setting LIST to the last file found.
Delayed environment variable expansion allows you to use a different
character (the exclamation mark) to expand environment variables at
execution time. If delayed variable expansion is enabled, the above
examples could be written as follows to work as intended:
set VAR=before
if "%%VAR%%" == "before" (
set VAR=after
if "!VAR!" == "after" @echo If you see this, it worked
)
set LIST=
for %%i in (*) do set LIST=!LIST! %%i
echo %%LIST%%
.
MessageId=
Language=English
If Command Extensions are enabled, then there are several dynamic
environment variables that can be expanded but which don't show up in
the list of variables displayed by SET. These variable values are
computed dynamically each time the value of the variable is expanded.
If the user explicitly defines a variable with one of these names, then
that definition will override the dynamic one described below:
%%CD%% - expands to the current directory string.
%%DATE%% - expands to current date using same format as DATE command.
%%TIME%% - expands to current time using same format as TIME command.
%%RANDOM%% - expands to a random decimal number between 0 and 32767.
%%ERRORLEVEL%% - expands to the current ERRORLEVEL value
%%CMDEXTVERSION%% - expands to the current Command Processor Extensions
version number.
%%CMDCMDLINE%% - expands to the original command line that invoked the
Command Processor.
.
MessageId= SymbolicName=MSG_HELP_GOTO_X
Language=English
If Command Extensions are enabled GOTO changes as follows:
GOTO command now accepts a target label of :EOF which transfers control
to the end of the current batch script file. This is an easy way to
exit a batch script file without defining a label. Type CALL /? for a
description of extensions to the CALL command that make this feature
useful.
.
MessageId= SymbolicName=MSG_HELP_SHIFT_X
Language=English
If Command Extensions are enabled the SHIFT command supports
the /n switch which tells the command to start shifting at the
nth argument, where n may be between zero and eight. For example:
SHIFT /2
would shift %%3 to %%2, %%4 to %%3, etc. and leave %%0 and %%1 unaffected.
.
MessageId= SymbolicName=MSG_HELP_CALL_X
Language=English
If Command Extensions are enabled CALL changes as follows:
CALL command now accepts labels as the target of the CALL. The syntax
is:
CALL :label arguments
A new batch file context is created with the specified arguments and
control is passed to the statement after the label specified. You must
"exit" twice by reaching the end of the batch script file twice. The
first time you read the end, control will return to just after the CALL
statement. The second time will exit the batch script. Type GOTO /?
for a description of the GOTO :EOF extension that will allow you to
"return" from a batch script.
In addition, expansion of batch script argument references (%%0, %%1,
etc.) have been changed as follows:
%%* in a batch script refers to all the arguments (e.g. %%1 %%2 %%3
%%4 %%5 ...)
Substitution of batch parameters (%%n) has been enhanced. You can
now use the following optional syntax:
%%~1 - expands %%1 removing any surrounding quotes (")
%%~f1 - expands %%1 to a fully qualified path name
%%~d1 - expands %%1 to a drive letter only
%%~p1 - expands %%1 to a path only
%%~n1 - expands %%1 to a file name only
%%~x1 - expands %%1 to a file extension only
%%~s1 - expanded path contains short names only
%%~a1 - expands %%1 to file attributes
%%~t1 - expands %%1 to date/time of file
%%~z1 - expands %%1 to size of file
%%~$PATH:1 - searches the directories listed in the PATH
environment variable and expands %%1 to the fully
qualified name of the first one found. If the
environment variable name is not defined or the
file is not found by the search, then this
modifier expands to the empty string
.
MessageId=
Language=English
The modifiers can be combined to get compound results:
%%~dp1 - expands %%1 to a drive letter and path only
%%~nx1 - expands %%1 to a file name and extension only
%%~dp$PATH:1 - searches the directories listed in the PATH
environment variable for %%1 and expands to the
drive letter and path of the first one found.
%%~ftza1 - expands %%1 to a DIR like output line
In the above examples %%1 and PATH can be replaced by other
valid values. The %%~ syntax is terminated by a valid argument
number. The %%~ modifiers may not be used with %%*
.
MessageId= SymbolicName=MSG_HELP_SETLOCAL_X
Language=English
If Command Extensions are enabled SETLOCAL changes as follows:
SETLOCAL batch command now accepts optional arguments:
ENABLEEXTENSIONS / DISABLEEXTENSIONS
enable or disable command processor extensions. See
CMD /? for details.
ENABLEDELAYEDEXPANSION / DISABLEDELAYEDEXPANSION
enable or disable delayed environment variable
expansion. See SET /? for details.
These modifications last until the matching ENDLOCAL command,
regardless of their setting prior to the SETLOCAL command.
The SETLOCAL command will set the ERRORLEVEL value if given
an argument. It will be zero if one of the two valid arguments
is given and one otherwise. You can use this in batch scripts
to determine if the extensions are available, using the following
technique:
VERIFY OTHER 2>nul
SETLOCAL ENABLEEXTENSIONS
IF ERRORLEVEL 1 echo Unable to enable extensions
This works because on old versions of CMD.EXE, SETLOCAL does NOT
set the ERRORLEVEL value. The VERIFY command with a bad argument
initializes the ERRORLEVEL value to a non-zero value.
.
MessageId= SymbolicName=MSG_HELP_ENDLOCAL_X
Language=English
If Command Extensions are enabled ENDLOCAL changes as follows:
If the corresponding SETLOCAL enable or disabled command extensions
using the new ENABLEEXTENSIONS or DISABLEEXTENSIONS options, then
after the ENDLOCAL, the enabled/disabled state of command extensions
will be restored to what it was prior to the matching SETLOCAL
command execution.
.
MessageId= SymbolicName=MSG_HELP_START_X
Language=English
If Command Extensions are enabled, external command invocation
through the command line or the START command changes as follows:
non-executable files may be invoked through their file association just
by typing the name of the file as a command. (e.g. WORD.DOC would
launch the application associated with the .DOC file extension).
See the ASSOC and FTYPE commands for how to create these
associations from within a command script.
When executing an application that is a 32-bit GUI application, CMD.EXE
does not wait for the application to terminate before returning to
the command prompt. This new behavior does NOT occur if executing
within a command script.
When executing a command line whose first token is the string "CMD "
without an extension or path qualifier, then "CMD" is replaced with
the value of the COMSPEC variable. This prevents picking up CMD.EXE
from the current directory.
When executing a command line whose first token does NOT contain an
extension, then CMD.EXE uses the value of the PATHEXT
environment variable to determine which extensions to look for
and in what order. The default value for the PATHEXT variable
is:
.COM;.EXE;.BAT;.CMD
Notice the syntax is the same as the PATH variable, with
semicolons separating the different elements.
When searching for an executable, if there is no match on any extension,
then looks to see if the name matches a directory name. If it does, the
START command launches the Explorer on that path. If done from the
command line, it is the equivalent to doing a CD /D to that path.
.
MessageId= SymbolicName=MSG_HELP_BREAK_X
Language=English
If Command Extensions are enabled, and running on the Windows
platform, then the BREAK command will enter a hard coded breakpoint
if being debugged by a debugger.
.
MessageId= SymbolicName=MSG_HELP_FOR_X
Language=English
If Command Extensions are enabled, the following additional
forms of the FOR command are supported:
FOR /D %%variable IN (set) DO command [command-parameters]
If set contains wildcards, then specifies to match against directory
names instead of file names.
FOR /R [[drive:]path] %%variable IN (set) DO command [command-parameters]
Walks the directory tree rooted at [drive:]path, executing the FOR
statement in each directory of the tree. If no directory
specification is specified after /R then the current directory is
assumed. If set is just a single period (.) character then it
will just enumerate the directory tree.
FOR /L %%variable IN (start,step,end) DO command [command-parameters]
The set is a sequence of numbers from start to end, by step amount.
So (1,1,5) would generate the sequence 1 2 3 4 5 and (5,-1,1) would
generate the sequence (5 4 3 2 1)
FOR /F ["options"] %%variable IN (file-set) DO command [command-parameters]
FOR /F ["options"] %%variable IN ("string") DO command [command-parameters]
FOR /F ["options"] %%variable IN ('command') DO command [command-parameters]
or, if usebackq option present:
FOR /F ["options"] %%variable IN (file-set) DO command [command-parameters]
FOR /F ["options"] %%variable IN ('string') DO command [command-parameters]
FOR /F ["options"] %%variable IN (`command`) DO command [command-parameters]
filenameset is one or more file names. Each file is opened, read
and processed before going on to the next file in filenameset.
Processing consists of reading in the file, breaking it up into
individual lines of text and then parsing each line into zero or
more tokens. The body of the for loop is then called with the
variable value(s) set to the found token string(s). By default, /F
passes the first blank separated token from each line of each file.
Blank lines are skipped. You can override the default parsing
behavior by specifying the optional "options" parameter. This
is a quoted string which contains one or more keywords to specify
different parsing options. The keywords are:
.
MessageId=
Language=English
eol=c - specifies an end of line comment character
(just one)
skip=n - specifies the number of lines to skip at the
beginning of the file.
delims=xxx - specifies a delimiter set. This replaces the
default delimiter set of space and tab.
tokens=x,y,m-n - specifies which tokens from each line are to
be passed to the for body for each iteration.
This will cause additional variable names to
be allocated. The m-n form is a range,
specifying the mth through the nth tokens. If
the last character in the tokens= string is an
asterisk, then an additional variable is
allocated and receives the remaining text on
the line after the last token parsed.
usebackq - specifies that the new semantics are in force,
where a back quoted string is executed as a
command and a single quoted string is a
literal string command and allows the use of
double quotes to quote file names in
filenameset.
Some examples might help:
FOR /F "eol=; tokens=2,3* delims=, " %%i in (myfile.txt) do @echo %%i %%j %%k
.
MessageId=
Language=English
would parse each line in myfile.txt, ignoring lines that begin with
a semicolon, passing the 2nd and 3rd token from each line to the for
body, with tokens delimited by commas and/or spaces. Notice the for
body statements reference %%i to get the 2nd token, %%j to get the
3rd token, and %%k to get all remaining tokens after the 3rd. For
file names that contain spaces, you need to quote the filenames with
double quotes. In order to use double quotes in this manner, you also
need to use the usebackq option, otherwise the double quotes will be
interpreted as defining a literal string to parse.
%%i is explicitly declared in the for statement and the %%j and %%k
are implicitly declared via the tokens= option. You can specify up
to 26 tokens via the tokens= line, provided it does not cause an
attempt to declare a variable higher than the letter 'z' or 'Z'.
Remember, FOR variables are single-letter, case sensitive, global,
and you can't have more than 52 total active at any one time.
You can also use the FOR /F parsing logic on an immediate string, by
making the filenameset between the parenthesis a quoted string,
using single quote characters. It will be treated as a single line
of input from a file and parsed.
Finally, you can use the FOR /F command to parse the output of a
command. You do this by making the filenameset between the
parenthesis a back quoted string. It will be treated as a command
line, which is passed to a child CMD.EXE and the output is captured
into memory and parsed as if it was a file. So the following
example:
FOR /F "usebackq delims==" %%i IN (`set`) DO @echo %%i
would enumerate the environment variable names in the current
environment.
.
MessageId=
Language=English
In addition, substitution of FOR variable references has been enhanced.
You can now use the following optional syntax:
%%~I - expands %%I removing any surrounding quotes (")
%%~fI - expands %%I to a fully qualified path name
%%~dI - expands %%I to a drive letter only
%%~pI - expands %%I to a path only
%%~nI - expands %%I to a file name only
%%~xI - expands %%I to a file extension only
%%~sI - expanded path contains short names only
%%~aI - expands %%I to file attributes of file
%%~tI - expands %%I to date/time of file
%%~zI - expands %%I to size of file
%%~$PATH:I - searches the directories listed in the PATH
environment variable and expands %%I to the
fully qualified name of the first one found.
If the environment variable name is not
defined or the file is not found by the
search, then this modifier expands to the
empty string
The modifiers can be combined to get compound results:
%%~dpI - expands %%I to a drive letter and path only
%%~nxI - expands %%I to a file name and extension only
%%~fsI - expands %%I to a full path name with short names only
%%~dp$PATH:I - searches the directories listed in the PATH
environment variable for %%I and expands to the
drive letter and path of the first one found.
%%~ftzaI - expands %%I to a DIR like output line
In the above examples %%I and PATH can be replaced by other valid
values. The %%~ syntax is terminated by a valid FOR variable name.
Picking upper case variable names like %%I makes it more readable and
avoids confusion with the modifiers, which are not case sensitive.
.
MessageId= SymbolicName=MSG_HELP_IF_X
Language=English
If Command Extensions are enabled IF changes as follows:
IF [/I] string1 compare-op string2 command
IF CMDEXTVERSION number command
IF DEFINED variable command
where compare-op may be one of:
EQU - equal
NEQ - not equal
LSS - less than
LEQ - less than or equal
GTR - greater than
GEQ - greater than or equal
and the /I switch, if specified, says to do case insensitive string
compares. The /I switch can also be used on the string1==string2 form
of IF. These comparisons are generic, in that if both string1 and
string2 are both comprised of all numeric digits, then the strings are
converted to numbers and a numeric comparison is performed.
The CMDEXTVERSION conditional works just like ERRORLEVEL, except it is
comparing against an internal version number associated with the Command
Extensions. The first version is 1. It will be incremented by one when
significant enhancements are added to the Command Extensions.
CMDEXTVERSION conditional is never true when Command Extensions are
disabled.
The DEFINED conditional works just like EXISTS except it takes an
environment variable name and returns true if the environment variable
is defined.
.
MessageId=
Language=English
%%ERRORLEVEL%% will expand into a string representation of
the current value of ERRORLEVEL, provided that there is not already
an environment variable with the name ERRORLEVEL, in which case you
will get its value instead. After running a program, the following
illustrates ERRORLEVEL use:
goto answer%%ERRORLEVEL%%
:answer0
echo Program had return code 0
:answer1
echo Program had return code 1
You can also using the numerical comparisons above:
IF %%ERRORLEVEL%% LEQ 1 goto okay
%%CMDCMDLINE%% will expand into the original command line passed to
CMD.EXE prior to any processing by CMD.EXE, provided that there is not
already an environment variable with the name CMDCMDLINE, in which case
you will get its value instead.
%%CMDEXTVERSION%% will expand into a string representation of the
current value of CMDEXTVERSION, provided that there is not already
an environment variable with the name CMDEXTVERSION, in which case you
will get its value instead.
.
MessageId= SymbolicName=MSG_HELP_KEYS
Language=English
Enables or disables command line editing on DOS system
This is present for Compatibility with DOS systems. It has no effect
under Windows, as command line editing is always enabled.
.
MessageId= SymbolicName=MSG_NO_UNC_INITDIR
Language=English
'%1'
CMD.EXE was started with the above path as the current directory.
UNC paths are not supported. Defaulting to Windows directory.
.
MessageId= SymbolicName=MSG_NO_UNC_CURDIR
Language=English
'%1'
CMD does not support UNC paths as current directories.
.
MessageId= SymbolicName=MSG_SIM_UNC_CURDIR
Language=English
UNC paths not supported for current directory. Using
PUSHD %1
to create temporary drive letter to support UNC current
directory. Use POPD or EXIT to delete temporary drive
letter.
.
MessageID= SymbolicName=MSG_SHIFT_BAD_ARG
Language=English
Invalid parameter to SHIFT command
.
MessageID= SymbolicName=MSG_SET_A_MISMATCHED_PARENS
Language=English
Unbalanced parenthesis.
.
MessageID= SymbolicName=MSG_SET_A_MISSING_OPERAND
Language=English
Missing operand.
.
MessageID= SymbolicName=MSG_SET_A_MISSING_OPERATOR
Language=English
Missing operator.
.
MessageID= SymbolicName=MSG_SET_A_INVALID_NUMBER
Language=English
Invalid number. Numeric constants are either decimal (17),
hexadecimal (0x11), or octal (021).
.
MessageId= SymbolicName=MSG_SET_NUMBER_TOO_LARGE
Language=English
Invalid number. Numbers are limited to 32-bits of precision.
.
MessageID= SymbolicName=MSG_SET_A_DIVIDE_BY_ZERO
Language=English
Divide by zero error.
.
MessageID= SymbolicName=MSG_INVALID_COMSPEC
Language=English
The COMSPEC environment variable does not point to CMD.EXE.
.
MessageID= SymbolicName=MSG_MOVE_COPY_OVERWRITE
Language=English
Overwrite %1? (Yes/No/All): %0
.
MessageId= SymbolicName=MSG_NOYESALL_RESPONSE_DATA
Language=English
NYA%0
.
MessageId= SymbolicName=MSG_DIR_MOUNT_POINT
Language=English
%0
.
MessageId= SymbolicName=MSG_DIR_TOO_LONG
Language=English
The directory name %1\%2 is too long.
.
MessageId= SymbolicName=MSG_FULL_PATH_TOO_LONG
Language=English
The full path of %1 is too long.
.
MessageId= SymbolicName=MSG_PATH_TOO_LONG
Language=English
The path %1\%2 is too long.
.
MessageId= SymbolicName=MSG_FTYPE_TOO_LONG
Language=English
The FTYPE %1 is too long.
.
MessageId= SymbolicName=MSG_CANNOT_LOAD_LIB
Language=English
Unable to find library %1.
.
MessageId= SymbolicName=MSG_CANNOT_FIND_FUNC_NAME
Language=English
Cannot find function %1!S!:%2!S!.
.
MessageId= SymbolicName=MSG_CANNOT_FIND_FUNC_ORDINAL
Language=English
Cannot find ordinal %1!S!:%2!d!.
.
MessageId= SymbolicName=MSG_COMMAND_LINE_TOO_LONG
Language=English
The command line is too long.
.
MessageId= SymbolicName=MSG_UNABLE_TO_RESET_READ_ONLY_ATTRIBUTE
Language=English
The file %1 was copied, but CMD is unable to reset the
READ_ONLY attribute.
.
MessageID=10001 SymbolicName=MSG_FILE_NOT_FOUND
Language=English
File Not Found
.
MessageID=10002 SymbolicName=MSG_NOT_FOUND
Language=English
Could Not Find %1
.
MessageID=10003 SymbolicName=MSG_TIME_NOT_SUPPORTED
Language=English
The FAT File System only support Last Write Times
.
MessageId=10004 SymbolicName=MSG_HELP_SETLOCAL
Language=English
Begins localization of environment changes in a batch file. Environment
changes made after SETLOCAL has been issued are local to the batch file.
ENDLOCAL must be issued to restore the previous settings. When the end
of a batch script is reached, an implied ENDLOCAL is executed for any
outstanding SETLOCAL commands issued by that batch script.
SETLOCAL
.
MessageId=10005 SymbolicName=MSG_HELP_ENDLOCAL
Language=English
Ends localization of environment changes in a batch file.
Environment changes made after ENDLOCAL has been issued are
not local to the batch file; the previous settings are not
restored on termination of the batch file.
ENDLOCAL
.
MessageId=10006 SymbolicName=MSG_HELP_TITLE
Language=English
Sets the window title for the command prompt window.
TITLE [string]
string Specifies the title for the command prompt window.
.
MessageId=10007 SymbolicName=MSG_HELP_APPEND
Language=English
Allows programs to open data files in specified directories as if they were
in the current directory.
APPEND [[drive:]path[;...]] [/X[:ON | :OFF]] [/PATH:ON | /PATH:OFF] [/E]
APPEND ;
[drive:]path Specifies a drive and directory to append.
/X:ON Applies appended directories to file searches and
application execution.
/X:OFF Applies appended directories only to requests to open files.
/X:OFF is the default setting.
/PATH:ON Applies the appended directories to file requests that already
specify a path. /PATH:ON is the default setting.
/PATH:OFF Turns off the effect of /PATH:ON.
/E Stores a copy of the appended directory list in an environment
variable named APPEND. /E may be used only the first time
you use APPEND after starting up your system.
Type APPEND ; to clear the appended directory list.
Type APPEND without parameters to display the appended directory list.
.
MessageId=10008 SymbolicName=MSG_HELP_MOVE
Language=English
Moves files and renames files and directories.
To move one or more files:
MOVE [/Y | /-Y] [drive:][path]filename1[,...] destination
To rename a directory:
MOVE [/Y | /-Y] [drive:][path]dirname1 dirname2
[drive:][path]filename1 Specifies the location and name of the file
or files you want to move.
destination Specifies the new location of the file. Destination
can consist of a drive letter and colon, a
directory name, or a combination. If you are moving
only one file, you can also include a filename if
you want to rename the file when you move it.
[drive:][path]dirname1 Specifies the directory you want to rename.
dirname2 Specifies the new name of the directory.
/Y Suppresses prompting to confirm you want to
overwrite an existing destination file.
/-Y Causes prompting to confirm you want to overwrite
an existing destination file.
The switch /Y may be present in the COPYCMD environment variable.
This may be overridden with /-Y on the command line. Default is
to prompt on overwrites unless MOVE command is being executed from
within a batch script.
.
MessageId=10009 SymbolicName=MSG_HELP_PUSHDIR
Language=English
Stores the current directory for use by the POPD command, then
changes to the specified directory.
PUSHD [path | ..]
path Specifies the directory to make the current directory.
.
MessageId=10010 SymbolicName=MSG_HELP_POPDIR
Language=English
Changes to the directory stored by the PUSHD command.
POPD
.
MessageId=10011 SymbolicName=MSG_FILE_NAME_PRECEEDING_ERROR
Language=English
%1 - %0
.
MessageId=10012 SymbolicName=MSG_MAX_SETLOCAL
Language=English
Maximum setlocal recursion level reached.
.
MessageId=10013 SymbolicName=MSG_ENTER_JAPAN_DATE
Language=English
Enter the new date: (yy-mm-dd) %0
.
MessageId=10014 SymbolicName=MSG_ENTER_DEF_DATE
Language=English
Enter the new date: (dd-mm-yy) %0
.
MessageID=10015 SymbolicName=MSG_VERIFY_FAIL
Language=English
ERROR Verify - %1
.
MessageID=10016 SymbolicName=MSG_MOVE_MULTIPLE_FAIL
Language=English
Cannot move multiple files to a single file.
.
MessageId=10017 SymbolicName=MSG_RDR_HNDL_OPEN
Language=English
The handle could not be opened
during redirection of handle %1.
.
MessageId=10018 SymbolicName=MSG_PROGRESS
Language=English
%r%1%% copied %0
.
MessageId=10019 SymbolicName=MSG_HELP_COLOR
Language=English
Sets the default console foreground and background colors.
COLOR [attr]
attr Specifies color attribute of console output
Color attributes are specified by TWO hex digits -- the first
corresponds to the background; the second the foreground. Each digit
can be any of the following values:
0 = Black 8 = Gray
1 = Blue 9 = Light Blue
2 = Green A = Light Green
3 = Aqua B = Light Aqua
4 = Red C = Light Red
5 = Purple D = Light Purple
6 = Yellow E = Light Yellow
7 = White F = Bright White
If no argument is given, this command restores the color to what it was
when CMD.EXE started. This value either comes from the current console
window, the /T command line switch or from the DefaultColor registry
value.
The COLOR command sets ERRORLEVEL to 1 if an attempt is made to execute
the COLOR command with a foreground and background color that are the
same.
Example: "COLOR fc" produces light red on bright white
.
MessageId=10020 SymbolicName=MSG_MAX_PATH_EXCEEDED
Language=English
Maximum path length exceeded - %1
.
MessageId=10023 SymbolicName=MSG_ERROR_BATCH_RECURSION
Language=English
****** B A T C H R E C U R S I O N exceeds STACK limits ******
Recursion Count=%1!d!, Stack Usage=%2!d! percent
****** B A T C H PROCESSING IS A B O R T E D ******
.
MessageId=10024 SymbolicName=MSG_ERROR_PUSHD_DEPTH_EXCEEDED
Language=English
There are too many directories already in the PUSHD stack.
.
MessageId=10025 SymbolicName=MSG_DISABLED_BY_POLICY
Language=English
The command prompt has been disabled by your administrator.
.
;#endif // _CMDMSG_