Environment.GetFolderPath(Environment.SpecialFolder.SOMETHING)

时间:2013-02-05 17:46:27

标签: c# .net

我一直在尝试Enviroment.SpecialFolder枚举的大部分内容,但我认为只有枚举 才能实现我想要完成的任何方式。使用string.Substring()方法为我带来了最好的。

我尝试只获取实际安装了Windows的系统分区路径。在机器A上它可能是C:\,在机器B上它可能是D:\

迄今为止我发现的最充足的解决方案是

var path = Environment.GetFolderPath(Environment.SpecialFolder.Windows)
                      .Substring(0, 3);

有更好的方法吗?感谢。

2 个答案:

答案 0 :(得分:8)

要获取驱动器,请使用Path.GetPathRoot。见http://msdn.microsoft.com/en-us/library/system.io.path.getpathroot.aspx

var root = Path.GetPathRoot(Environment.GetFolderPath(Environment.SpecialFolder.Windows));

答案 1 :(得分:3)

如果您需要“Environment.SpecialFolder.Windows所在的磁盘”,那么您的样本就可以了。

您可能希望使用Path.GetPathRoot代替Susbstring ...

请注意,您可能不应该自己向根驱动器写任何内容(如果您的程序设计得很好)。