3

我一直在尝试大多数Enviroment.SpecialFolder枚举,但我认为没有任何方法可以实现使用枚举来完成。使用这种string.Substring()方法给我带来了最大的收益。

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

到目前为止,我发现的最充分的解决方案是

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

有一个更好的方法吗?谢谢。

4

2 回答 2

8

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

var root = Path.GetPathRoot(Environment.GetFolderPath(Environment.SpecialFolder.Windows));
于 2013-02-05T17:58:21.430 回答
3

如果您需要“环境.SpecialFolder.Windows 所在的磁盘”,您的示例就可以了。

您可能想使用Path.GetPathRoot而不是 Susbstring ...

请注意,您可能不应该自己向根驱动器写入任何内容(如果您的程序旨在表现良好)。

于 2013-02-05T17:59:09.600 回答