Percent Signs Stripped from Batch File Text

Zastarané vyhlásenie týkajúce sa obsahu databázy KB

Tento článok sa týka produktov, ku ktorým už spoločnosť Microsoft neposkytuje technickú podporu. Preto sa tento článok ponúka tak, „ako je“, a už nebude aktualizovaný.

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 ab
If 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=C
then


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 aa
If 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 %V
but if the same command is placed in a batch file, the following is required:


FOR %%V IN (*.COM) DO ECHO %%V
Reference(s):


"Microsoft MS-DOS Batch File Quick Reference," Microsoft Press.
Vlastnosti

ID článku: 75634 – Posledná kontrola: 9. 5. 2003 – Revízia: 1

Pripomienky