Percent Signs Stripped from Batch File Text

만료된 KB 콘텐츠 고지 사항

이 문서는 Microsoft에서 더 이상 지원하지 않는 제품에 대해 작성되었습니다. 따라서 이 문서는 “있는 그대로" 제공되며 더 이상 업데이트되지 않습니다.

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.
속성

문서 ID: 75634 - 마지막 검토: 2003. 5. 9. - 수정: 1

피드백