Help and Support

Percent Signs Stripped from Batch File Text

Article ID:75634
Last Review:May 10, 2003
Revision:2.0
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 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.

APPLIES TO
Microsoft MS-DOS 3.1
Microsoft MS-DOS 3.2 Standard Edition
Microsoft MS-DOS 3.21 Standard Edition
Microsoft MS-DOS 3.3 Standard Edition
Microsoft MS-DOS 3.3a
Microsoft MS-DOS 4.0 Standard Edition
Microsoft MS-DOS 4.01 Standard Edition
Microsoft MS-DOS 5.0 Standard Edition
Microsoft MS-DOS 5.0a
Microsoft MS-DOS 6.0 Standard Edition
Microsoft MS-DOS 6.2 Standard Edition
Microsoft MS-DOS 6.21 Standard Edition
Microsoft MS-DOS 6.22 Standard Edition

Back to the top

Keywords: 
KB75634

Article Translations

 

Other Support Options

  • Contact Microsoft
    Phone Numbers, Support Options and Pricing, Online Help, and more.
  • Customer Service
    For non-technical assistance with product purchases, subscriptions, online services, events, training courses, corporate sales, piracy issues, and more.
  • Newsgroups
    Pose a question to other users. Discussion groups and Forums about specific Microsoft products, technologies, and services.