Копирование файла 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 () - это просто синтаксический сахар.

Ответы на вопрос(6)

Ваш ответ на вопрос