c# - 如何从驱动器全名获取驱动器号

标签 c# .net windows fileinfo drive-letter

如何在 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 所提到的,由于我 child 的时间要求,最初没有详细说明,存在一个潜在的问题,即您只会匹配具有该标签的第一个驱动器,因此,如果您的系统需要它,您将需要在逻辑中考虑到这一点(不过,仅根据非唯一字符串来确定两个驱动器中的哪一个是所需的驱动器并不比猜测,或者正如我下面提到的,询问用户(如果这是输入)他们的意思是哪一个。)

关于c# - 如何从驱动器全名获取驱动器号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7222782/

相关文章:

c# - 无法通过 Azure Function 连接到 Azure MySQL 数据库 - C#

c# - C# 中的泛型和继承类型

html - Windows 媒体应用程序对我来说很奇怪 HTML CSS

java - Windows 替代 CLI,没有文件名字符限制

windows - Windows 开始菜单中的应用程序磁贴属性

c# 将位图保存到文件,保存目录错误?

c# - 没有实体 ID 为 "http://stubidp.kentor.se/Metadata"的 Idp 在 Kentor 身份验证服务中发现错误

c# - 将 WAV 录制到 IBM Watson Speech-To-Text

c# - 数据关系插入和外键

c# - Linq 从两个列表中返回所有元素对?