簡體   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