@echo off 
 if "%1" == "" goto null 
 echo. 
 echo found this - %1 
 goto end 

 :null 
 echo. 
 echo nothing was passed 
 goto end 

 :end


=======

http://support.microsoft.com/kb/75634

Percent Signs Stripped from Batch File Text




Retired KB Content Disclaimer



View products that this article applies to.


This article was previously published under Q75634


Expand all | Collapse all


SUMMARY Using a percent sign (%) in a batch file requires that two percent signs (%%) be...


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,...


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


Retired KB Content Disclaimer

This article was written about products for which Microsoft no longer offers support. Therefore, this article is offered "as is" and will no longer be updated.


Back to the top