簡體   English   中英

C# 如何獲取用戶 AppData 文件夾,而不是 AppData\Roaming?

[英]C# How to get the User AppData folder, NOT AppData\Roaming?

我使用下面的代碼來獲取用戶的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 object 中獲取用戶名。

string userName = Environment.UserName;

然后,使用該用戶名生成路徑。

string path = $"C:\\Users\\{userName}\\AppData";

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM