c# - 检查驱动器是否存在(字符串路径)

标签 c# wpf

如何根据 WPF 中的给定字符串检查系统中是否存在驱动器。我尝试了以下方法

示例: FileLocation.Text = "K:\TestDrive\XXX";

if (!Directory.Exists(FileLocation.Text))
{
         MessageBox.Show("Invalid Directory", "Error", MessageBoxButton.OK);
         return;
}

它正在检查完整路径,但它应该检查文本中的“K:\”。你能指导我吗

编辑 1:K:\TestDrive\XXX”不是静态的

编辑 2: 我尝试了以下操作,在我的系统中我有 3 个驱动器 C、D 和 E 但它显示 false .

Environment.SystemDirectory.Contains("D").ToString(); = "False"

最佳答案

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;
}

当然,应该添加额外的健全性检查(路径根是否至少有三个字符,第二个是冒号),但这将作为练习留给读者。

关于c# - 检查驱动器是否存在(字符串路径),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17335072/

相关文章:

C# MYSQL - 关于重复键更新 - 相同的查询不同的结果

c# - 为什么动态调用返回动态结果?

c# - 使用外部配置文件时 log4net 不记录

c# - 东亚本地化软件中的访问/快捷键?

c# - 如何移动由 WPF Canvas 上的按钮创建的形状?

c# - 有没有人有使用 betfair api 的 c# 代码?

c# - Linq-To-JSON 查询以在分层 JSON 结构中查找特定属性的 sibling

c# - 从 Web 浏览器控件捕获所有请求和响应?

c# - System.Timers 定时器不触发事件

wpf xceed工具包水印文本框使水印显示直到第一次输入