Копирование файла Performant в C #?
У меня есть огромный каталог около 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 () - это просто синтаксический сахар.