Login | Register   
Twitter
RSS Feed
Download our iPhone app
TODAY'S HEADLINES  |   ARTICLE ARCHIVE  |   FORUMS  |   TIP BANK
Browse DevX
Sign up for e-mail newsletters from DevX


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

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)
    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
Francesco Balena
 
Comment and Contribute

 

 

 

 

 


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

 

 

Sitemap