Чтобы получить список дисков:
string[] drives = Environment.GetLogicalDrives();
Чтобы получить все ваши файлы:
foreach(string drive in drives)
string[] allFiles = Directory.GetFiles(drive, "*.*", SearchOption.AllDirectories);
Чтобы получить все ваши файлы с помощью рекурсии:
List<string> allFiles = new List<string>();
private void RecursiveSearch(string dir)
{
allFiles.Add(Directory.GetFiles(dir));
foreach(string d in Directory.GetDirectories(dir))
{
RecursiveSearch(d);
}
}
Фильтр по ответу Ману