Browse DevX
Sign up for e-mail newsletters from DevX

Tip of the Day
Language: VB5,VB6
Expertise: Intermediate
Oct 27, 2001



Building the Right Environment to Support AI, Machine Learning and Deep Learning

GetDirectorySize - Evaluate disk space used by files and subdirectories

' 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)
    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)
    End If
End Function
Francesco Balena
Comment and Contribute






(Maximum characters: 1200). You have 1200 characters left.



Thanks for your registration, follow us on our social networks to keep up-to-date