就像主題說的,這是我的代碼。如果光盤空間在X-GIG下並且自創建以來超過X天,則刪除DIRECTORY! C#/ NET
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天后刪除文件,但日期/時間的比較似乎是錯誤。
這裏的任何指針都會很酷。我似乎無法找到答案。
你能告訴我們你所期望的,當你運行它,而是會發生什麼? – 2012-04-26 21:27:16
它運行,沒什麼more.it掃描文件夾,我可以看到他們通過列表框時,我測試..但超過X天的文件夾仍然在我的文件夾。即時運行管理員模式 – 1244 2012-04-26 21:29:23
您運行的是什麼版本的Net Framework? – Sparky 2012-04-26 21:49:13