VB.NET
Public Shared Function GetDirectorySize( _
ByVal dirInfo As DirectoryInfo) As Long
Dim size As Long = 0
Dim fi As FileInfo
For Each fi In dirInfo.GetFiles()
size += fi.Length
Next fi
Dim di As DirectoryInfo
For Each di In dirInfo.GetDirectories()
size += GetDirectorySize(di)
Next di
Return size
End Function
Dim di As New System.IO.DirectoryInfo("C:\My Documents")
Dim dirsize As Long = GetDirectorySize(di)
C#public static long GetDirectorySize(DirectoryInfo dirInfo)
{
long size = 0;
foreach (FileInfo fi in dirInfo.GetFiles())
size += fi.Length;
foreach (DirectoryInfo di in dirInfo.GetDirectories())
size += GetDirectorySize(di);
return size;
}
System.IO.DirectoryInfo di =
new System.IO.DirectoryInfo("C:\\My Documents");
long dirsize = GetDirectorySize(di);