GetDirectorySize - Calculate the size of a directory
' Returns the size of the specified directory
' - Note: requires Imports System.IO
' - Usage: Dim DirSize As Long = GetDirectorySize("D:\Projects")
Function GetDirectorySize(ByVal DirPath As String) As Long
Dim DirSize As Long
Dim Dir As DirectoryInfo = New DirectoryInfo(DirPath)
' add the size of each file
Dim ChildFile As FileInfo
For Each ChildFile In Dir.GetFiles()
DirSize += ChildFile.Length
Next
' add the size of each sub-directory, that is retrieved by recursively
' calling this same routine
Dim SubDir As DirectoryInfo
For Each SubDir In Dir.GetDirectories()
DirSize += GetDirectorySize(SubDir.FullName)
Next
Return DirSize
End Function