' Retrieve the number of bytes by all the files in a directory' (it doesn't account for slack space, that is unused space in disk sectors)'' If INCLUDESUBDIRS is true, it recursively parses all subdirectories.'' supports only up to 2G directories.Function GetDirectorySize(ByVal Path As String, Optional includeSubdirs As _ Boolean) As Long Dim fileInfo() As Variant Dim i As Integer ' Ensure that the path ends with a backslash If Right(Path, 1) <> "" Then Path = Path & "" ' Get the list of files fileInfo() = GetFilesInfo(Path & "*.*") ' sum size of files For i = 1 To UBound(fileInfo, 2) GetDirectorySize = GetDirectorySize + fileInfo(1, i) Next If includeSubdirs Then ' Get the list of subdirectories. fileInfo() = GetFilesInfo(Path & "*.*", True) ' Recursive call this routine for all subdirectories For i = 1 To UBound(fileInfo, 2) GetDirectorySize = GetDirectorySize + GetDirectorySize(Path & _ fileInfo(0, i), True) Next End If End Function