私はこれにちょっと慣れていないので、それについて説明します。ドライブに30GBのディスク容量があるかどうかを確認する方法を見つけようとしています。これまでのところ、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
}
}