トピックが言うように、これが私のコードです。
public void deleteOldShit()
{
String path = textBox1.Text ;
Int32 days = Convert.ToInt32(oldRelease.Text);
Int32 neededSpace = Convert.ToInt32(discSpace.Text);
String[] folders = Directory.GetDirectories(path, "*".ToString(), SearchOption.AllDirectories);
foreach (String folder in folders)
{
DirectoryInfo source = new DirectoryInfo(folder);
String k = Directory.GetDirectoryRoot(path);
k = k.Replace(@":\", "");
DriveInfo c = new DriveInfo(k);
Double cAvailableSpace = c.AvailableFreeSpace / Math.Pow(1024, 2);
// Get info of each file into the directory
foreach (DirectoryInfo fi in source.GetDirectories())
{
var creationTime = fi.CreationTime;
if (creationTime < (DateTime.Now - new TimeSpan(days, 0, 0, 0)))
{
if (cAvailableSpace < neededSpace)
{
Directory.Delete(folder,true);
}
}
}
}
}
x日後にファイルを削除することを見てきましたが、日付/時刻の比較はバグのようです.
ここでのポインタはクールです。これに対する答えが見つからないようです。