Вам придется сканировать с Directory.GetFiles()
, рекурсивно.
Вы можете оптимизировать, используя столько потоков, сколько у вас есть дисков (не разделов).
.NET 4 имеет новую потоковую версию GetFiles (), которая может помочь уменьшить использование памяти.
Но на современном компьютере это займет много времени. Выполнение этого на полную мощность, безусловно, будет препятствовать нормальному использованию ПК, поэтому вы можете пойти на медленнее , чем можете.