internal static DirectorySizeInfo DirSize(DirectoryInfo d) { DirectorySizeInfo size = new DirectorySizeInfo(); try { // Add file sizes. var fis = d.GetFiles(); foreach (var fi in fis) { size.Size += fi.Length; } size.FileCount += fis.Length; // Add subdirectory sizes. var dis = d.GetDirectories(); size.DirectoryCount += dis.Length; foreach (var di in dis) { size += DirSize(di); } } catch { } return(size); }
public static DirectorySizeInfo Size(this DirectoryInfo d) { DirectorySizeInfo size = new DirectorySizeInfo(); try { // Add file sizes. var fis = d.GetFiles(); foreach (var fi in fis) { size.Size += fi.Length; } size.FileCount += fis.Length; // Add subdirectory sizes. var dis = d.GetDirectories(); size.DirectoryCount += dis.Length; foreach (var di in dis) { size += Size(di); } } catch (Exception ex) { } return(size); }
internal static DirectorySizeInfo DirSize(DirectoryInfo d) { var size = new DirectorySizeInfo(); try { //Add file sizes. var fis = d.GetFiles(); foreach (var fi in fis) { size.Size += fi.Length; } size.FileCount += fis.Length; //Add subdirectory sizes. var dis = d.GetDirectories(); size.DirectoryCount += dis.Length; size = dis.Aggregate(size, (current, di) => current + DirSize(di)); } catch (Exception) {} return(size); }