private DirCopyInfo GetDetails(string sourceDir, string destDir) { var info = new DirCopyInfo(); FindDirectoryDetails(sourceDir, ref info); info.DesDirHasContent = false; if (Directory.Exists(destDir)) { info.DesDirHasContent = Directory.GetFiles(destDir).Length + Directory.GetDirectories(destDir).Length > 0; } return(info); }
private void FindDirectoryDetails(string dir, ref DirCopyInfo info) { info.TotalFileCount += Directory.GetFiles(dir).Length; DirectoryInfo d = new DirectoryInfo(dir); FileInfo[] fis = d.GetFiles(); foreach (FileInfo fi in fis) { info.TotalSize += fi.Length; } string[] dirs = Directory.GetDirectories(dir); info.DirectoryCount += dirs.Length; foreach (string folder in dirs) { FindDirectoryDetails(folder, ref info); } }