问题描述
我使用下面的代码来获取用户的 AppData
文件夹 -
Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData)
但我得到的是"C:\Users\(users)\AppData\Roaming"
。有没有办法只得到 "C:\Users\(users)\AppData"
?
解决方法
首先,除非 Microsoft 已发布 API 来检索其位置,否则直接访问该文件夹可能不是一个好主意。这意味着无法保证此文件夹甚至会存在。
如果你出于某种原因真的想检索这个文件夹,你可能会做一些类似的事情
Directory.GetParent(
Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData))
然后要验证,您还可以检索例如
Directory.GetParent(
Environment.GetFolderPath(Environment.SpecialFolder.LocalApplicationData))
如果两者相同,很可能就是您要查找的文件夹。
但同样,首先质疑为什么需要这条道路的动机可能是个好主意。
,这是你要找的吗
首先从 Environment 对象中获取用户名。
string userName = Environment.UserName;
然后,使用该用户名生成路径。
string path = $"C:\\Users\\{userName}\\AppData";