private void CopyFiles(DirectoryInfo source, DirectoryInfo destination) { MpeLog.Info("Copying files [" + source.FullName + "]"); FileInfo[] files = source.GetFiles(); MpeLog.Progress(0, files.Length, 0); for (int i = 0; i < files.Length; i++) { FileInfo f = files[i].CopyTo(destination.FullName + "\\" + files[i].Name); MpeLog.Debug("Created [" + f.FullName + "]", i); } DirectoryInfo[] dirs = source.GetDirectories(); for (int i = 0; i < dirs.Length; i++) { DirectoryInfo destdir = destination.CreateSubdirectory(dirs[i].Name); CopyFiles(dirs[i], destdir); } }