如何在.NET中读取“驱动器标签”或“卷名”?

时间:2008-12-16 18:18:58

标签: .net wmi

您能否在.NET中显示用于读取驱动器标签或卷名的示例代码?我明白这需要WMI,但是我不愿意“下拉”到WMI中,因为它就像是在某些版本的操作系统或用户中可能不存在某些对象的意义上下降到基于字符串的SQL查询中可能无权查询某些数据。我很高兴相信我对WMI错了......

3 个答案:

答案 0 :(得分:12)

不需要WMI。以下将获得所有卷标:

var labels = from drive in DriveInfo.GetDrives()
             select drive.VolumeLabel

答案 1 :(得分:3)

调用DriveInfo.GetDrives以获取驱动器信息数组。然后看看DriveInfo.VolumeLabel

答案 2 :(得分:1)

您可以使用System.IO.DriveInfo获取驱动器列表。请参阅以下示例:

注意:CDRom驱动器类型没有卷名。

Using System.IO;
.
.
.
DriveInfo[] driveInfoList = DriveInfo.GetDrives();
foreach (DriveInfo drive in driveInfoList)
{
    if (drive.DriveType != DriveType.CDRom)
       textBox1.Text += String.Format("Name:{0} Volume:{1}\r\n", drive.Name, drive.VolumeLabel);
    else
       textBox1.Text += String.Format("Name:{0}\r\n", drive.
}