当前位置: 首页 > news >正文

dotnet win32 判断传入路径是否在 U 盘

通过 dotnet 自带的 DriveInfo 类就能够很好地实现这一点。只需判断 DriveType 属性是否为 Removable 即可了解是否是 U 盘。判断原理是判断可插拔的盘

遍历当前系统的所有磁盘,判断有哪些是 U 盘的方法如下

foreach (var driveInfo in DriveInfo.GetDrives())
{if (driveInfo.DriveType == DriveType.Removable){Console.WriteLine($"{driveInfo.RootDirectory} 是 U 盘");}
}

点开 DriveType 还可以看到更多有趣的类型,比如光盘等

判断传入路径是否在 U 盘里,可用如下判断

var path = @"H:\lindexi\test.txt";
var isUDiskPath = IsUDiskPath(path);
Console.WriteLine($"Path={path} 是 U 盘={isUDiskPath}");static bool IsUDiskPath(string path)
{if (!Path.IsPathFullyQualified(path)){throw new ArgumentException($"路径必须是绝对路径。 Path={path}", nameof(path));}var pathRoot = Path.GetPathRoot(path);if (pathRoot is null){return false;}var driveInfo = new DriveInfo(pathRoot);return driveInfo.DriveType == DriveType.Removable;
}

软软对 DriveInfo 的容错设计是非常好的,接受的输入非常多:

  • 支持传入整个路径:如 H:\lindexi\test.txt 也是可以的
  • 支持传入标准根路径:如 H:\
  • 支持传入盘符:如 H
  • 支持传入不存在的磁盘路径,如 Y: 盘。此时不会抛出异常,只会让 DriveType 为 NoRootDirectory 类型

本文的核心代码如下

var path = @"H:\lindexi\test.txt";
var isUDiskPath = IsUDiskPath(path);
Console.WriteLine($"Path={path} 是 U 盘={isUDiskPath}");foreach (var driveInfo in DriveInfo.GetDrives())
{if (driveInfo.DriveType == DriveType.Removable){Console.WriteLine($"{driveInfo.RootDirectory} 是 U 盘");}
}static bool IsUDiskPath(string path)
{if (!Path.IsPathFullyQualified(path)){throw new ArgumentException($"路径必须是绝对路径。 Path={path}", nameof(path));}var pathRoot = Path.GetPathRoot(path);if (pathRoot is null){return false;}var driveInfo = new DriveInfo(pathRoot);return driveInfo.DriveType == DriveType.Removable;
}

本文代码放在 github 和 gitee 上,可以使用如下命令行拉取代码。我整个代码仓库比较庞大,使用以下命令行可以进行部分拉取,拉取速度比较快

先创建一个空文件夹,接着使用命令行 cd 命令进入此空文件夹,在命令行里面输入以下代码,即可获取到本文的代码

git init
git remote add origin https://gitee.com/lindexi/lindexi_gd.git
git pull origin daea5a766abb0f786c58137cd0066cb7bffb37e5

以上使用的是国内的 gitee 的源,如果 gitee 不能访问,请替换为 github 的源。请在命令行继续输入以下代码,将 gitee 源换成 github 源进行拉取代码。如果依然拉取不到代码,可以发邮件向我要代码

git remote remove origin
git remote add origin https://github.com/lindexi/lindexi_gd.git
git pull origin daea5a766abb0f786c58137cd0066cb7bffb37e5

获取代码之后,进入 Workbench/CawrelibairquJojaijurhewe 文件夹,即可获取到源代码

更多技术博客,请参阅 博客导航

http://www.jsqmd.com/news/113682/

相关文章:

  • 智能手机防盗为何如此困难?技术、市场与全球治理的挑战
  • 2025年质量好的密封卷帘门品牌厂商推荐(更新) - 行业平台推荐
  • 2025年12月四川楼梯栏杆厂家口碑榜 - 2025年品牌推荐榜
  • 2025年上海ISO27001认证服务商综合评估与选择建议 - 2025年品牌推荐榜
  • 2025年下半年北京朋友圈计划公司推荐排行 - 2025年品牌推荐榜
  • docker拉取镜像支持http
  • 2025年12月重庆酒具公司哪家可靠?前五推荐 - 2025年品牌推荐榜
  • 2025年下半年如何选择汽车水泵轴承供应商? - 2025年品牌推荐榜
  • 2025年下半年汽车水泵轴承公司专业推荐 - 2025年品牌推荐榜
  • 2025年下半年重庆酒具厂家专业排行 - 2025年品牌推荐榜
  • 2025年12月广东惠州精密模具企业排行解析 - 2025年品牌推荐榜
  • 2025年质量好的冲压技术/冲压成型品牌厂家推荐 - 行业平台推荐
  • 2025年靠谱的冲压/高速冲压厂家综合实力参考(2025) - 行业平台推荐
  • 2025年12月德阳结婚专用挂件厂家哪家强? - 2025年品牌推荐榜
  • 2025年12月天津电缆品牌综合选择指南 - 2025年品牌推荐榜
  • 2025年下半年江苏徐州网架品牌推荐前十 - 2025年品牌推荐榜
  • 2025年12月天津电线电缆品牌口碑大揭秘 - 2025年品牌推荐榜
  • 2025年比较好的杯头双阻尼铰链厂家实力参考 - 行业平台推荐
  • 2025年12月天津电线电缆品牌推荐 - 2025年品牌推荐榜
  • 2025年知名的双阻尼铰链值得信赖厂家推荐(精选) - 行业平台推荐
  • 2025年12月上海真空冲洗设备品牌推荐top5 - 2025年品牌推荐榜
  • 2025年比较好的侧帮隐藏轨金属薄抽高口碑厂家推荐(评价高) - 行业平台推荐
  • 2025年质量好的隐藏轨金属薄抽/阻尼隐藏轨金属薄抽行业内知名厂家推荐 - 行业平台推荐
  • 2025年评价高的定制隐藏轨骑马抽/三维隐藏轨骑马抽厂家选购参考建议 - 行业平台推荐
  • 2025年12月上海门式冲洗设备厂家综合推荐与采购指南 - 2025年品牌推荐榜
  • 2025年下半年公交站台品牌综合比较分析 - 2025年品牌推荐榜
  • 2025年口碑好的隐藏轨骑马抽厂家信誉综合参考 - 行业平台推荐
  • 2025年下半年徐州喷灌机管厂商综合评估与选型解析 - 2025年品牌推荐榜
  • 2025年比较好的消毒杀菌衣柜智能健康收纳主流方案评选榜 - 行业平台推荐
  • 2025年12月四川德阳新婚挂饰公司采购参考 - 2025年品牌推荐榜