[英]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.