问题

目前我正在使用以下函数为当前用户获取临时文件夹路径:

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

在一些机器上,它给了我当前用户的临时文件夹路径,如:

C:| Documents和Settings

在一些机器上,它给了我系统临时文件夹路径,如:

C:|Windows|TEMP

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

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

C:| Documents和Settings

  最佳答案

System.IO.Path.GetTempPath()只是在kernel32中对GetTempPath(..)进行本机调用的包装器.

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

从该页复制:

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

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

我不完全清楚“Windows目录”是指Windows下的临时目录还是Windows目录本身.在Windows目录中倾倒临时文件本身听起来像一个不可取的情况,但谁知道.

因此,将该页面与帖子结合起来,我想署长用户的一个TMP,TEMP或UserProfile变量指向Windows路径,否则它们没有设置,它正在回到Windows临时路径.

  相同标签的其他问题

c#.nettemporary-directory