假设我在一个文件夹中有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();
}
}
答案 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();
}
}
}