private long GetFolderSize(string path) { long totalSize = 0; System.IO.DirectoryInfo di = new System.IO.DirectoryInfo(path); foreach (System.IO.FileInfo fi in di.GetFiles()) { totalSize += fi.Length; } foreach (System.IO.DirectoryInfo diChild in di.GetDirectories()) { totalSize += GetFolderSize(diChild.FullName); } return totalSize; }