假设用户在配置文件中指定了路径,例如%temp%。我可以通过在地址栏中键入%temp%来实现目标。
但是,如果我想使用C#程序到达那里,我看到的唯一方法就是使用http://msdn.microsoft.com/en-us/library/system.environment.getfolderpath.aspx。
是否可以在C#代码本身内解析用户指定的路径,如%temp%或%userprofile%/ local?
答案 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);
}