我一直在尝试Enviroment.SpecialFolder
枚举的大部分内容,但我认为只有枚举 才能实现我想要完成的任何方式。使用string.Substring()
方法为我带来了最好的。
我尝试只获取实际安装了Windows的系统分区路径。在机器A上它可能是C:\
,在机器B上它可能是D:\
。
迄今为止我发现的最充足的解决方案是
var path = Environment.GetFolderPath(Environment.SpecialFolder.Windows)
.Substring(0, 3);
有更好的方法吗?感谢。
答案 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 ...
请注意,您可能不应该自己向根驱动器写任何内容(如果您的程序设计得很好)。