我正在使用可能在.NET或Mono上运行的C#代码中的文件和目录路径字符串。
我想确定给定的路径字符串是否可以是驱动器(与当前系统上是否存在映射到该路径的实际驱动器无关)。
例如,考虑字符串"m:"
。在某些环境(例如Windows)中,这表示驱动器,而在其他环境中,它可能是通常的目录名。
除非我要对操作系统的检查进行硬编码 1 ,否则如何找出{wlog)"m:"
表示Windows中的驱动器(最好是Windows)甚至发现该驱动器实际上称为"m"
)?
1 :显然,这种检查注定会失败。
答案 0 :(得分:0)
将Directory.Exists(String) Method与Path.GetPathRoot Method结合使用怎么办?
string drive = Path.GetPathRoot(FileLocation.Text); // e.g. K:\
if (!Directory.Exists(drive))
{
MessageBox.Show("Drive " + drive + " not found or inaccessible",
"Error", MessageBoxButton.OK);
return;
}