在用户提供的代码中获取Windows特殊文件夹

时间:2013-09-26 17:46:58

标签: c# windows

假设用户在配置文件中指定了路径,例如%temp%。我可以通过在地址栏中键入%temp%来实现目标。

但是,如果我想使用C#程序到达那里,我看到的唯一方法就是使用http://msdn.microsoft.com/en-us/library/system.environment.getfolderpath.aspx

是否可以在C#代码本身内解析用户指定的路径,如%temp%或%userprofile%/ local?

2 个答案:

答案 0 :(得分:7)

您应该使用Environment.ExpandEnvironmentVariables展开路径中的所有变量。不要忘记,如果这是一项服务,服务通常在不同的用户下运行。

答案 1 :(得分:1)

您应该使用Environment.GetEnvironmentVariable。一个example

// Change the directory to %WINDIR%
Environment.CurrentDirectory = Environment.GetEnvironmentVariable("windir");
DirectoryInfo info = new DirectoryInfo(".");
lock(info)
{      
  Console.WriteLine("Directory Info:   "+info.FullName);
}