如何根据文件夹中的大小和日期删除文件

时间:2013-03-22 10:40:34

标签: asp.net directory

假设我在一个文件夹中有4个文件 昨天2档 1档 - 1 mb 2nn file- 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();
    }
}

1 个答案:

答案 0 :(得分: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();
    }
  }
}