Microsoft KB Archive/41246

= How to Use Environment Variable Substitution in Batch Files =

Article ID: 41246

Article Last Modified on 5/10/2003

-

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

-



This article was previously published under Q41246



SUMMARY
A feature new to the Microsoft MS-DOS packaged product is the ability to use environment variables in batch files.

These variables can be referenced by surrounding the variable with percent symbols (%). This procedure is known as environment variable substitution. However, this ability is not present at the COMMAND.COM command line, only within a batch file.



MORE INFORMATION
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 the current environment and appended to the new PATH definition. If this is done at the command line by typing the following line, the PATH environment variable's value is not substituted, so the existing PATH will not get appended to the new PATH (&quot;%PATH%&quot; would be appended instead).    SET PATH=c:\dos\binp;c:\os2\binp;%PATH% The ability to use environment variable substitution is not restricted to existing MS-DOS environment variable names. Any variable that is defined in the environment can be extended using the method above.

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

For example, type the following command in which XYZZY is an undefined environment variable:

SET ONE=%XYZZY%;TWO

SET

The commands result in the following if used at the command-line prompt:   one=%XYZZY%;TWO The commands result in the following if used in a batch file:   ONE=;TWO

Additional query words: 6.22 3.30 3.30a 4.00 4.01 5.00 5.00a 6.00 6.20

Keywords: KB41246

-

[mailto:TECHNET@MICROSOFT.COM Send feedback to Microsoft]

© Microsoft Corporation. All rights reserved.