专门在 C# 中获取系统 TEMP 路径

Specifically Getting the System TEMP Path in C#

我正在使用 System.IO.Path.GetTempPath() 方法从环境变量中检索临时文件夹。但是,我发现这将始终 return 当前用户的 TEMP 或 TMP 变量(如果存在)否则它将 return 系统 TEMP 或 TMP 变量。

有没有办法始终获取系统 TEMP 变量?

我知道 SO 上关于 Path.GetTempPath() 方法的其他几个问题,其中答案引用了 MSDN 中关于此方法如何决定 return 的内容的文档。我从 MSDN 了解到此方法的行为,我想问是否有另一种方法可以确保我获得系统临时文件夹。

也许您正在寻找 Environment.GetEnvironmentVariable 方法。

此用法为您提供用户的 %TEMP% 文件夹:

Environment.GetEnvironmentVariable("TEMP");

比如 C:\Users\MyUserName\AppData\Local\Temp

这会为您提供 系统的 %TEMP% 文件夹:

Environment.GetEnvironmentVariable("TEMP", EnvironmentVariableTarget.Machine);

如C:\WINDOWS\TEMP