1)如何找到用户正在使用的Windows安装驱动器。我需要这个导航到DocumentsandSettings中的 ApplicationData 。
2)另外我如何获得用户名以便我可以转到ApplicaitionData。例如:“D:\ Documents and Settings \ user \ Application Data”。
答案 0 :(得分:67)
请结合使用Environment.GetFolderPath和Environment.SpecialFolder来完成此操作。
Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData)
答案 1 :(得分:17)
根据您的工作情况,您可能还需要查看
Environment.GetFolderPath(Environment.SpecialFolder.LocalApplicationData)
如果用户在域中,则只会将其存储在其本地AppData
文件夹中,而不会与其漫游配置文件同步。
答案 2 :(得分:4)
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%");