如何获取当前用户的“Application Data”文件夹的路径?

时间:2009-05-27 11:26:20

标签: c# path appdata

1)如何找到用户正在使用的Windows安装驱动器。我需要这个导航到DocumentsandSettings中的 ApplicationData

2)另外我如何获得用户名以便我可以转到ApplicaitionData。例如:“D:\ Documents and Settings \ user \ Application Data”。

6 个答案:

答案 0 :(得分:67)

请结合使用Environment.GetFolderPathEnvironment.SpecialFolder来完成此操作。

Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData)

答案 1 :(得分:17)

根据您的工作情况,您可能还需要查看

Environment.GetFolderPath(Environment.SpecialFolder.LocalApplicationData)

如果用户在域中,则只会将其存储在其本地AppData文件夹中,而不会与其漫游配置文件同步。

答案 2 :(得分:4)

查看Environment.SpecialFolders

Environment.SpecialFolder.ApplicationData;
Environment.SpecialFolder.System

这也应该让你绕过用户名要求。

答案 3 :(得分:3)

查看System.Environment类及其属性和方法,例如:

string systemDir = System.Environment.SystemDirectory;
string docs = System.Environment.GetFolderPath(
    System.Environment.SpecialFolder.MyDocuments));

string systemDrive = System.IO.Path.GetPathRoot(systemDir);

第一个返回“ C:\ Windows \ system32 ”,第二个返回“ C:\ Documents and Settings \ USERNAME \ My Documents ”。< / p>

答案 4 :(得分:2)

试试这个:

string filePath = Environment.GetFolderPath(System.Environment.SpecialFolder.ApplicationData);

答案 5 :(得分:1)

  

1)我怎样才能找到用户所在的Windows安装驱动器   工作中。?

    var systemDrive =  Environment.ExpandEnvironmentVariables("%systemdrive%");
  

我需要这个导航到ApplicationData中   DocumentsandSettings。

您并不需要获取系统驱动器的值或当前登录的用户名来实现此目的。预定义的环境变量%localAppData%%appData%为您提供了这些目录的完全限定路径,如下面的代码所示:

var localApplicationData = Environment.ExpandEnvironmentVariables("%localappdata%"); 
//this gives C:\Users\<userName>\AppData\Local

var roamingApplicationData = Environment.ExpandEnvironmentVariables("%appdata%");
//this gives C:\Users\<userName>\AppData\Roaming
  

2)另外,我如何获得用户名,以便我可以转到   ApplicaitionData?例如:&#34; D:\ Documents and Settings \ user \ Application   数据&#34;

同样,您不需要用户名来获取应用程序数据路径,如上所述。尽管如此,为了知识,您可以从%username%环境变量中获取它,如下所示:

    var currentUserName = Environment.ExpandEnvironmentVariables("%username%");