Reading Text Files into MS-DOS Environment Variables

Article translations Article translations
Article ID: 66292 - View products that this article applies to.
This article was previously published under Q66292
Expand all | Collapse all


This article describes the several steps needed to use the results of a query (using the FIND filter) as a replaceable parameter in a one or more batch files. A use for this would be to search for a specific file and then perform some action on or with this file. The file could then be used in one or more batch files as a replaceable parameter.


First, you need to set up a one-line file with the partial command
   set varname=
with no carriage return (CR) or linefeed (LF) at the end (this can be done with COPY CON by pressing CTRL+Z after the equal sign [=] and pressing ENTER).

The file would look like this on the screen:
The following steps can be issued from the MS-DOS command prompt or from within a batch file:

  1. Search for a single directory entry and place the results in a text file.
          dir | find "dos" > textfile
  2. Append the two files into one batch file using the COPY command as follows:
          copy init.txt+textfile varset.bat
  3. Place the contents of the text file in a variable by running VARSET.BAT.
VARSET.BAT sets an environment variable equal to the directory entry found earlier. This allows the environment variable to be used as a replaceable parameter in later batch files. VARSET.BAT can be called from the command prompt or from within another batch file.

NOTE: This process works for directory names only if MS-DOS 5.0 or 6.0 is being used. Under MS-DOS 5.0 and 6.0, the /B switch must be used when you are searching for a directory name. The following is an example of searching for a directory under MS-DOS 5.0 or 6.0.
   dir /b | find "dos5" > textfile
NOTE: There is still a 127-character limit to the length of this variable, which includes the variable name and equal sign (=).


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

Give Feedback


Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from