假设用户在configuration文件(如%temp%)中指定了path。 我可以通过在地址栏中input%temp%来达到目的。
但是,如果我想用C#程序来到那里,唯一的办法就是使用http://msdn.microsoft.com/en-us/library/system.environment.getfolderpath.aspx 。
是否有可能在C#代码本身内部parsing用户指定的path,如%temp%或%userprofile%/ local?
您应该使用Environment.ExpandEnvironmentVariables
展开路径中的所有变量。 不要忘记,如果这是一个服务,服务通常在不同的用户下运行。
你应该使用Environment.GetEnvironmentVariable
。 一个例子 :
// Change the directory to %WINDIR% Environment.CurrentDirectory = Environment.GetEnvironmentVariable("windir"); DirectoryInfo info = new DirectoryInfo("."); lock(info) { Console.WriteLine("Directory Info: "+info.FullName); }