小编典典

如何为当前用户获取临时文件夹

c#

目前,我正在使用以下功能来获取当前用户的临时文件夹路径:

string tempPath = System.IO.Path.GetTempPath();

在某些计算机上,它为我提供了当前用户的临时文件夹路径,例如:

C:\ Documents and Settings \ administrator \ Local Settings \ Temp \

在某些计算机上,它为我提供了系统临时文件夹路径,例如:

C:\ Windows \ TEMP

MSDN文档还说,上述API返回当前系统的临时文件夹。

是否有其他可用的API可以给我当前用户的临时文件夹路径,如下所示:

C:\ Documents and Settings \ administrator \ Local Settings \ Temp \


阅读 289

收藏
2020-05-19

共1个答案

小编典典

System.IO.Path.GetTempPath()只是GetTempPath(..)Kernel32中本机调用的包装。

看看http://msdn.microsoft.com/en-
us/library/aa364992(VS.85).aspx

从该页面复制:

GetTempPath函数按以下顺序检查是否存在环境变量,并使用找到的第一个路径:

  • 由TMP环境变量指定的路径。
  • TEMP环境变量指定的路径。
  • USERPROFILE环境变量指定的路径。
  • Windows目录。

对我来说,“
Windows目录”是指Windows下的temp目录还是Windows目录本身,还不是很清楚。在Windows目录中转储临时文件本身听起来像是不受欢迎的情况,但谁知道呢。

因此,将该页面与您的帖子结合在一起,我会猜出您的Administrator用户的TMP,TEMP或USERPROFILE变量之一指向Windows路径,否则未设置它们,并且回退到Windows临时路径。

2020-05-19