2013-03-22 51 views
0

假設我有4個文件夾中 2文件昨天 1文件 - 1 MB 2NN文件 - 2MB 2文件今天 一號文件-5 mb個 第二文件 - 10 MB我怎麼能根據一個文件夾中的大小和日期刪除文件

首先我要查日期爲每個文件,並根據該文件,我們檢查的大小 文件以最小將從文件夾

在我的代碼被刪除我刪除所有文件,最小尺寸,但我想刪除文件有小日子明智的

這裏是我的代碼:

private void DeleteFiles() 
    { 
     DirectoryInfo di = new DirectoryInfo("E:\\test"); 
     var files = di.GetFiles(); 
     var maxFile = files.Max(r => r.Length); 

     foreach (FileInfo file in files.Where(r => r.Length < maxFile)) 
     { 
      file.Delete(); 
     } 
    } 
    protected void Button1_Click(object sender, EventArgs e) 
    { 
     this.DeleteFiles(); 
    } 
} 

回答

0

像這樣的東西應該工作:

private void DeleteFiles() 
{ 
    var di = new DirectoryInfo("E:\\test"); 
    var files = di.GetFiles().GroupBy(f => f.LastWriteTime.Date); 

    foreach (var fileGrp in files) 
    { 
    var maxFile = fileGrp.Max(r => r.Length); 

    foreach (FileInfo file in fileGrp.Where(r => r.Length < maxFile)) 
    { 
     file.Delete(); 
    } 
    } 
} 
+0

是你 – amitesh 2013-03-22 11:16:22

+0

謝謝男人此代碼的工作對我來說你的代碼工作 – amitesh 2013-03-22 11:19:09

+0

可以做,如果給我解釋一下我們的代碼你有空請 – amitesh 2013-03-22 11:20:20

相關問題