Percent Signs Stripped from Batch File Text
This article was previously published under Q75634 SUMMARY
Using a percent sign (%) in a batch file requires that two percent
signs (%%) be specified.
For example, the command to display "5%" from a batch file would be : ECHO 5%% MORE INFORMATION
MS-DOS uses %1, %2, ... %9 as replaceable command line parameters. For
example, before executing the command ECHO %1, %1 will be replaced
with the first parameter passed to the batch file. %0 is replaced with
the command used to execute the batch file.
A single percent sign on a line is treated as a "nul" character in a batch file. For example: ECHO % is processed as ECHO ECHO a%b is processed as ECHO abIf a command contains two percent signs, MS-DOS will treat any characters between them as an environment variable to be expanded. For example, if the SET command shows that the current environment variables are COMSPEC=C:\COMMAND.COM PATH=C:\DOS PROMPT=$P$G B=Cthen ECHO %PATH% is processed as ECHO C:\DOS ECHO a%b% is processed as ECHO aC ECHO a%b b%a is processed as ECHO aaIf there are no characters between the two percent signs, one percent sign is stripped off and the other will remain. This is why a FOR command that echos the name of each file with a .COM extension would be FOR %V IN (*.COM) DO ECHO %Vbut if the same command is placed in a batch file, the following is required: FOR %%V IN (*.COM) DO ECHO %%VReference(s): "Microsoft MS-DOS Batch File Quick Reference," Microsoft Press. APPLIES TO
| Article Translations
|
Back to the top
