Sarà banale, ma penso che ti convenga fare una funzione ricorsiva e utilizzare classi del System.IO, tipo DirectoryInfo.
Più di così, dovrei solo scriverti il codice...