Vista环境变量中%TMP%和%TEMP%之间有什么区别?

时间:2009-02-24 14:38:00

标签: windows variables temp

在我的计算机上,环境变量%TMP%和%TEMP%都指向同一位置。

仅针对向后兼容性问题,还是存在真正的差异?

4 个答案:

答案 0 :(得分:19)

这是为了兼容性。它一直回到DOS。由于没有标准,一些DOS(和Win 3.x)应用程序将查找%TMP%环境变量,而其他应用程序将查找%TEMP%。如果你在AUTOEXEC.BAT文件中设置它们,那么你最好。

Windows NT自动设置它们只是为了确保所有应用程序继续正常工作。 %TEMP%现在是标准,但%TMP%依旧。

编辑:看起来理查德已经在评论中提到了DOS方面。

答案 1 :(得分:15)

完成其他答案:

Environment variable

   MS-DOS 5 (1991-1994) %TEMP%有时会指向C:\ DOS ,因此删除%TEMP%中的所有文件会导致严重问题至少可以说。

http://www.operating-system.org/betriebssystem/bsgfx/microsoft/msdos500-scr-01.png

答案 2 :(得分:4)

我认为只是为了兼容性,正如我在Windows NT中看到的那样,两个变量都被定位到%WinDir%\Temp\中的相同位置

每次谈论%TMP%时,我都没有看到使用%TEMP%

答案 3 :(得分:0)

Raymond Chen talks about the historical use of TMP and TEMP, and says this specifically about Windows:

For whatever reason, the original authors of the Get­Temp­File­Name function chose to look for TMP before looking for TEMP.

The rest of the article is worth a read in explaining the historical use of both in DOS. It sounds like DOS preferred TEMP semi-officially, rather than TMP, but third-party programmers were free to use what they liked, particularly given the lack of the standard API functions that Windows has.