如何在 Windows 下使用 C# 从驱动器(例如 WORKMEMORYSTICK)的已知全名(如果存在)中获取驱动器号(例如 F:\)?
甚至反过来也是一个开始。
如何在 Windows 下使用 C# 从驱动器(例如 WORKMEMORYSTICK)的已知全名(如果存在)中获取驱动器号(例如 F:\)?
甚至反过来也是一个开始。
该类DriveInfo
公开了一种获取所有可用驱动器(GetDrives
)的方法,您可以枚举这些以匹配您给定的字符串。以下内容应该可以帮助您实现目标:
DirectoryInfo root;
var drives = DriveInfo.GetDrives();
foreach (var drive in drives)
{
if (drive.VolumeLabel == label)
{
root = drive.RootDirectory;
break;
}
}
正如 abatishchev 所提到的,由于我孩子的时间要求,最初没有详细说明,有一个潜在的问题是您只会匹配具有该标签的第一个驱动器,因此您需要在如果您的系统需要它,您的逻辑(但是,仅根据非唯一字符串确定两个驱动器中的哪一个是所需的驱动器并不比猜测更好,或者正如我在下面提到的那样,询问用户(如果这是输入)他们指的是哪一个。)
您可以循环浏览所有驱动器并检查 DriveInfo 对象的 Name 和 VolumeLabel属性。
有关代码示例,请参阅此问题(用于获取 USB 驱动器号,但您可以轻松调整它):
抱歉,我无法为您提供一些代码,但我现在在 Mac 上 :)