Я могу получить метку тома (что я хочу) из букв дисков, как это ..
try
{
DriveInfo[] myDrives = DriveInfo.GetDrives();
foreach (DriveInfo drive in myDrives)
{
Console.WriteLine("Drive:" + drive.Name);
Console.WriteLine("Drive Type:" + drive.DriveType);
if (drive.IsReady == true)
{
Console.WriteLine("Vol Label:" + drive.VolumeLabel);
}
}
}
catch (Exception)
{
throw;
}
но я хочу метку тома с номера диска. Я могу получить номера дисков с этим ...
foreach (var drive in new ManagementObjectSearcher("Select * from Win32_LogicalDiskToPartition").Get().Cast<ManagementObject>().ToList())
{
var driveNumber = Regex.Match((string)drive["Antecedent"], @"Disk #(\d*),").Groups[1].Value;
Console.WriteLine("Drive Number: " + driveNumber);
Console.WriteLine(Environment.NewLine);
}
Как можно собрать что-нибудь вместе, чтобы получить метку тома всех заданных номеров дисков (из показанного 2-го блока кода)?
Подробнее:
Я не могу использовать «LogicalDisk ...» для запроса, потому что я нахожу смонтированные VHDS, которые, кажется, не считаются «LogicalDisks
»