如何在Windows下使用C#从驱动器(例如WORKMEMORYSTICK)的已知全名(如果存在)中获取驱动器号(例如F:\)?
即使反过来也是一个开始。
答案 0 :(得分:2)
DriveInfo
类公开了获取所有可用驱动器(GetDrives
)的方法,您可以将这些匹配给您的给定字符串。像下面这样的东西应该有助于你到达那里:
DirectoryInfo root;
var drives = DriveInfo.GetDrives();
foreach (var drive in drives)
{
if (drive.VolumeLabel == label)
{
root = drive.RootDirectory;
break;
}
}
如abatishchev所述,由于我孩子的时间要求,最初没有详细说明,因此您可能只会匹配具有该标签的 first 驱动器因此,如果您的系统需要它,您需要在逻辑中考虑到这一点(但是,根据非唯一字符串确定两个驱动器中的哪一个 所需驱动器并不比一个更好猜测,或者正如我在下面提到的那样,询问用户(如果这是输入的)他们的意思。)
答案 1 :(得分:2)
您可以循环浏览所有驱动器并检查名称和VolumeLabel properties of DriveInfo object。
请参阅此问题以获取代码示例(用于获取USB驱动器号,但您可以轻松地对其进行调整):
抱歉,我无法为您提供一些代码,但我现在正在使用Mac:)