Click here to Skip to main content
15,880,392 members
Articles / Programming Languages / Visual Basic
Alternative
Tip/Trick

Print File Size

Rate me:
Please Sign up or sign in to vote.
5.00/5 (4 votes)
19 Jul 2010CPOL 10.5K   1   2
You can keep your output consistent with how Windows represents file sizes by using the inbuilt function;StrFormatByteSizeThe following code will dump the files from the root of C:\, Call getFilesAndSizes from a button click or wherever you want. ...
You can keep your output consistent with how Windows represents file sizes by using the inbuilt function;StrFormatByteSize

The following code will dump the files from the root of C:\, Call getFilesAndSizes from a button click or wherever you want.

VB
<System.Runtime.InteropServices.DllImport("shlwapi", CharSet:=System.Runtime.InteropServices.CharSet.Auto)> _
Private Shared Function StrFormatByteSize( _
     ByVal fileSize As Long, _
     ByVal buffer As System.Text.StringBuilder, _
     ByVal bufferSize As Integer
    ) As Long
End Function

Private Sub GetFilesAndSizes()
    dirFiles("C:\")
End Sub

Private Sub dirFiles(ByVal path As String)

    Dim fi As System.IO.FileInfo
    Dim sb As New System.Text.StringBuilder
    Dim files() As String
    Try
        files = System.IO.Directory.GetFiles(path)

        For Each file In files
            fi = New System.IO.FileInfo(file)
            StrFormatByteSize(fi.Length, sb, 128)

            Debug.WriteLine(file & " : " & sb.ToString)
        Next

    Catch ex As Exception
        Debug.WriteLine("Error with: " & path)
    End Try

End Sub


The output generated on my laptop was;
C:\autoexec.bat : 24 bytes
C:\bootmgr : 374 KB
C:\BOOTSECT.BAK : 8.00 KB
C:\config.sys : 10 bytes
C:\hiberfil.sys : 2.24 GB
C:\pagefile.sys : 2.99 GB

License

This article, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)


Written By
Engineer
Scotland Scotland
I have been working in the Oil & Gas Industry for over 30 years now.

Core Discipline is Instrumentation and Control Systems.

Completed Bsc Honours Degree (B29 in Computing) with the Open University in 2012.

Currently, Offshore Installation Manager in the Al Shaheen oil field, which is located off the coast of Qatar. Prior to this, 25 years of North Sea Oil & Gas experience.

Comments and Discussions

 
GeneralThat's really cool function! Pin
chkmos23-Jul-10 6:33
chkmos23-Jul-10 6:33 
GeneralVery Cool. I hadn't seen that before. I love how it dumps it... Pin
SSDiver211221-Jul-10 13:35
SSDiver211221-Jul-10 13:35 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Praise Praise    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.