我对这个有点新,所以我就开始吧。我试图弄清楚如何检查任何驱动器是否有 30 GB 磁盘空间,到目前为止,我似乎无法让它做更多的事情,而不仅仅是检查 C: 驱动器。
可能与 CopyAvailableCheck() 仅检查它获得的第一个值有关,该值来自 C: 驱动器,但我不知道如何解决这个问题。
任何帮助将非常感激。这是我的代码:
public class DriveCheck
{
private void CopyAvailableCheck()
{
if (FreeDriveSpace() == 1)
{
// do something
}
else if (FreeDriveSpace() == 0)
{
// Something Else
}
else if (FreeDriveSpace() == -1)
{
// Something else
}
}
public static int FreeDriveSpace()
{
DriveInfo[] allDrives = DriveInfo.GetDrives();
foreach (DriveInfo d in allDrives)
{
if (d.IsReady == true)
{
// If total free space is more than 30 GB (default)
if (d.TotalFreeSpace >= 32212254720) // default: 32212254720
{
return 1; // If everything is OK it returns 1
}
else
{
return 0; // Not enough space returns 0
}
}
}
return -1; // Other error returns -1
}
}