在我的计算机上,环境变量 %TMP% 和 %TEMP% 都指向同一个位置。
那些只是为了向后兼容问题,还是有真正的区别?
这是为了兼容性。它一直回到DOS。由于没有标准,一些 DOS(和 Win 3.x)应用程序会寻找 %TMP% 环境变量,而其他应用程序会寻找 %TEMP%。如果将它们都设置在 AUTOEXEC.BAT 文件中,则最好。
Windows NT 自动设置它们,只是为了确保所有应用程序继续正常工作。%TEMP% 现在是标准,但 %TMP% 仍然存在。
编辑:看起来理查德已经在评论中提到了 DOS 方面。
我认为只是为了兼容性,正如我在从 NT 4.0 开始的 Windows 中看到的那样,这两个变量都针对相同的位置%WinDir%\Temp\
另外我从来没见过用%TMP%
,每次都在说%TEMP%
。
Raymond Chen谈到了 and 的历史用途,TMP
并TEMP
专门谈到了 Windows:
无论出于何种原因,GetTempFileName函数的原始作者都选择在查找之前先
TMP
查找TEMP
.
本文的其余部分值得一读,以解释两者在 DOS 中的历史用途。听起来 DOS 是TEMP
半官方的首选,而不是TMP
.,但第三方程序员可以自由使用他们喜欢的东西,特别是考虑到 Windows 缺少标准 API 函数。