专门在 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
我正在使用 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