我有一个包含大约 500k jpg 文件的巨大目录,我想归档所有早于某个日期的文件。目前,该脚本需要数小时才能运行。
这与 GoGrid 存储服务器的性能非常差有很大关系,但与此同时,我确信有一种更有效的方式 Ram/Cpu 明智地完成我正在做的事情。
这是我的代码:
var dirInfo = new DirectoryInfo(PathToSource);
var fileInfo = dirInfo.GetFiles("*.*");
var filesToArchive = fileInfo.Where(f =>
f.LastWriteTime.Date < StartThresholdInDays.Days().Ago().Date
&& f.LastWriteTime.Date >= StopThresholdInDays.Days().Ago().Date
);
foreach (var file in filesToArchive)
{
file.CopyTo(PathToTarget+file.Name);
}
Days().Ago() 东西只是语法糖。