繁体   English   中英

通过VolumeLabel从USB获取驱动器号

[英]Get drive letter from USB via VolumeLabel

我以为这很简单。 我需要USB路径,但由于我不知道它将分配给哪个字母,我想我只是使用不会改变的卷标。 这是我的简单代码:

 var alldrives = DriveInfo.GetDrives();
 string destd = alldrives.Where(x => x.VolumeLabel.Equals("UB64")).First().Name;

即使插入了USB,也会引发Io异常(设备不可用)。有人可以让我知道为什么吗?

在我看来,这与完整列表不同,因为我已经有一种地址类型,只需要转换为完整路径即可,而不是从零开始。

克里斯为我指出了正确的答案。 如果它可以帮助其他人,那就是:

var alldrives = DriveInfo.GetDrives();
string destd="";
foreach (var drvs in alldrives)
{
    try
    {
          if (drvs.VolumeLabel.Equals("UB64"))
              destd = drvs.Name;
              break;
     }
     catch
     {
        continue;
     }
}

即不是导致错误的USB ...

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM