为什么系统会将TEMP环境变量转换为一个短文件名?

为什么系统会将TEMP环境变量转换为一个短文件名?

作者:BlogUpdater |  时间:2022-02-14 |  浏览:1641 |  评论已关闭 条评论

细心的你,可能会发现这么个情况。

当通过系统的控制面板设置环境变量时,TEMP和TMP这两个环境变量被悄悄地转换成了它们的短文件名版本(如果可以转换的话)。

我们不禁要问了,这是为啥?

聪明的你,也一定猜到了:为了兼容性。

对于大部分的批处理文件(.BAT文件)来说,它们会假设 %TEMP% 和 %TMP% 这两个环境变量不会包含内部的空格字符。(可能其他的一些应用程序也会做出这样的假设,但是一般批处理脚本中特别容易出现这样的问题。)

上面我也提到一个所谓的”如果可以转换的话”,因为你可以禁止系统自动生成短文件名,在这种情况下,环境变量指向的路径不会有对应的短文件名,从而保持它原本的长文件名格式。

如果你更加大胆一些,将TEMP/TMP环境变量设置为一个包含空格且没有对应短文件名的目录路径,则你会发现,系统的有些部分不能正常工作了。请不要怪我没提醒你哦。

总结
我打开了我的Win10,并没有看到文中所说的短文件名的情况。
有可能是因为那些古老的操作系统已经随大江东流而去了吧。

最后
Raymond Chen的《The Old New Thing》是我非常喜欢的博客之一,里面有很多关于Windows的小知识,对于广大Windows平台开发者来说,确实十分有帮助。
本文来自:《Why does the system convert TEMP to a short file name?》

最近我写了个东西
正如你们所知道的,拓扑梅尔智慧办公平台(Topomel Box)是一款绿色软件,主要面向经常使用电脑的朋友。它提供了各种提升办公效率的小功能,同时操作上尽可能地简单方便。
我想:你值得拥有。

标签:

评论已关闭。