GetSize
This method extends the DirectoryInfo class to return the size in bytes of the directory represented by the DirectoryInfo instance.
Source
public static long GetSize(this DirectoryInfo dir)
{
    long length = 0;
    
    // Loop through files and keep adding their size
    foreach (FileInfo nextfile in dir.GetFiles())
        length += nextfile.Exists ? nextfile.Length : 0;
    // Loop through subdirectories and keep adding their size
    foreach (DirectoryInfo nextdir in dir.GetDirectories())
        length += nextdir.Exists ? nextdir.GetSize() : 0;
    return length;
}Example
DirectoryInfo WindowsDir = new DirectoryInfo(@"C:\WINDOWS");
long WindowsSize = WindowsDir.GetSize();Author: Joel Rosario Mathias
Submitted on: 13 feb. 2010
Language: C#
Type: System.IO.DirectoryInfo
Views: 6243