¿Cómo recupero la información del disco en C#?
disk (5)
¿Qué pasa con los volúmenes montados, donde no tiene letra de unidad?
foreach( ManagementObject volume in
new ManagementObjectSearcher("Select * from Win32_Volume" ).Get())
{
if( volume["FreeSpace"] != null )
{
Console.WriteLine("{0} = {1} out of {2}",
volume["Name"],
ulong.Parse(volume["FreeSpace"].ToString()).ToString("#,##0"),
ulong.Parse(volume["Capacity"].ToString()).ToString("#,##0"));
}
}
Me gustaría acceder a la información sobre las unidades lógicas en mi computadora usando C #. ¿Cómo debo lograr esto? ¡Gracias!
Compruebe la clase de DriveInfo y vea si contiene toda la información que necesita.
Para obtener más información, puede usar la clase DriveInfo .
using System;
using System.IO;
class Info {
public static void Main() {
DriveInfo[] drives = DriveInfo.GetDrives();
foreach (DriveInfo drive in drives) {
//There are more attributes you can use.
//Check the MSDN link for a complete example.
Console.WriteLine(drive.Name);
if (drive.IsReady) Console.WriteLine(drive.TotalSize);
}
}
}
Si desea obtener información para unidades individuales / específicas en su máquina local. Puedes hacerlo de la siguiente manera usando la clase DriveInfo :
//C Drive Path, this is useful when you are about to find a Drive root from a Location Path.
string path = "C://Windows";
//Find its root directory i.e "C://"
string rootDir = Directory.GetDirectoryRoot(path);
//Get all information of Drive i.e C
DriveInfo driveInfo = new DriveInfo(rootDir); //you can pass Drive path here e.g DriveInfo("C://")
long availableFreeSpace = driveInfo.AvailableFreeSpace;
string driveFormat = driveInfo.DriveFormat;
string name = driveInfo.Name;
long totalSize = driveInfo.TotalSize;
Use la clase System.IO.DriveInfo DriveInfo