INFO: Why Microsoft Development Tools Use TMP Instead of TEMP

Last reviewed: September 4, 1997
Article ID: Q74747

The information in this article applies to:
  • Microsoft C for MS-DOS, versions 6.0, 6.0a, 6.0ax
  • Microsoft C for OS/2, versions 6.0, 6.0a
  • Microsoft C/C++ for MS-DOS, version 7.0
  • Microsoft Visual C++ for Windows, versions 1.0, 1.5
  • Microsoft Visual C++ 32-bit Edition, versions 1.0, 2.0, 2.1, 4.0, 5.0

SUMMARY

Microsoft development systems and the utilities included with them use the drive and directory specified by the TMP environment variable for temporary file storage. This operating-system environment variable is typically set in the startup batch file, AUTOEXEC.BAT for MS-DOS or STARTUP.CMD for OS/2. In Windows NT, TMP may be set through the System Applet in the Control Panel. The value of this environment variable must be the path of an existing drive and directory.

While Microsoft development tools use the TMP system variable, Microsoft applications, such as Microsoft Word and Microsoft Windows, use a system variable, TEMP. The TEMP variable is also set to a drive and directory that can be used by applications for temporary file storage.

Compilers and other development tools generally need more temporary file storage space than do applications. By having these various products read different environment variables to determine their temporary file storage location, Microsoft provides the user with a certain amount of flexibility. You may set both the TMP and TEMP environment variables to the same drive and directory such that all temporary files will reside in the same location. If free disk space is a concern and your system has multiple drives or is connected to a network, you may wish or need to set the TMP variable to another drive. Alternatively, under MS-DOS, you could set TEMP to the path of a small RAM drive and not worry that your development tools would run out of temporary file storage space.

For information on the problems that will occur if the TMP environment variable is set incorrectly, please see the following article in the Microsoft Knowledge Base:

   ARTICLE-ID: Q38839
   TITLE     : PRB: %TMP% in NEW-VARS.BAT Causes Fatal Errors
Keywords          : TlsMisc kbenv kbenv
Version           : MS-DOS:6.0,6.00a,6.00ax,7.0; WINDOWS:1.0,1.5; WINDOWS  NT:1.0,2.0,2.1,4.0,5.0
Platform          : MS-DOS NT WINDOWS


================================================================================


THE INFORMATION PROVIDED IN THE MICROSOFT KNOWLEDGE BASE IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND. MICROSOFT DISCLAIMS ALL WARRANTIES, EITHER EXPRESS OR IMPLIED, INCLUDING THE WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT SHALL MICROSOFT CORPORATION OR ITS SUPPLIERS BE LIABLE FOR ANY DAMAGES WHATSOEVER INCLUDING DIRECT, INDIRECT, INCIDENTAL, CONSEQUENTIAL, LOSS OF BUSINESS PROFITS OR SPECIAL DAMAGES, EVEN IF MICROSOFT CORPORATION OR ITS SUPPLIERS HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. SOME STATES DO NOT ALLOW THE EXCLUSION OR LIMITATION OF LIABILITY FOR CONSEQUENTIAL OR INCIDENTAL DAMAGES SO THE FOREGOING LIMITATION MAY NOT APPLY.

Last reviewed: September 4, 1997
© 1998 Microsoft Corporation. All rights reserved. Terms of Use.