Ein kleiner Code, welcher alle Ordner und Dateien durchläuft (rekursiv) und den Pfad in eine Liste schreibt.

 List<string> entitylist = new List<string>(); 
  private void ReadSubDirectories(string path)
        {
            try
            {
                string[] subdirs = Directory.GetDirectories(path);

                foreach (string subdir in subdirs)
                {
                    entitylist.Add(subdir);
                    ReadSubDirectories(subdir);
                }

                string[] subcds = Directory.GetFiles(path);

                foreach (string subcd in subcds)
                {
                    entitylist.Add(subcd);                 
                    ReadSubDirectories(subcd);
                }
            }
            catch { }
        }