How to Use Environment Variable Substitution in Batch Files

This article was previously published under Q41246
This article has been archived. It is offered "as is" and will no longer be updated.
A feature new to the Microsoft MS-DOS packaged product is the ability touse environment variables in batch files.

These variables can be referenced by surrounding the variable with percentsymbols (%). This procedure is known as environment variable substitution.However, this ability is not present at the COMMAND.COM command line, onlywithin a batch file.
A batch file might have the following line:
   SET PATH=c:\dos\bin;c:\dos\etc;%PATH%.				
%PATH% is an environment variable whose value is taken from thecurrent environment and appended to the new PATH definition. If thisis done at the command line by typing the following line, the PATHenvironment variable's value is not substituted, so the existing PATHwill not get appended to the new PATH ("%PATH%" would be appendedinstead).
    SET PATH=c:\dos\binp;c:\os2\binp;%PATH%				
The ability to use environment variable substitution is not restrictedto existing MS-DOS environment variable names. Any variable that isdefined in the environment can be extended using the method above.

If the variable specified by the SET command is not defined in theenvironment, the variable stays the same if used at the prompt, and isreplaced by a null expression if used in a batch file.

For example, type the following command in which XYZZY is an undefinedenvironment variable:
The commands result in the following if used at the command-lineprompt:
The commands result in the following if used in a batch file:
6.22 3.30 3.30a 4.00 4.01 5.00 5.00a 6.00 6.20

Article ID: 41246 - Last Review: 12/04/2015 09:03:19 - Revision: 2.0

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

  • kbnosurvey kbarchive KB41246