ヘッダー

VB.NET 2002 対応 VB.NET 2003 対応 VB2005 対応

 

フォルダのサイズを取得する

以下の関数GetFolderSizeを呼び出すと、フォルダのサイズを取得できる。

VB.NET2002対応 VB.NET2003対応 VB2005対応

'■GetFolderSize
'■機能:フォルダのサイズを取得する。
'■引数:FolderName 対象のフォルダのフルパス。末尾に \ が必要。
'■戻り値:バイト単位でのフォルダのサイズ
Private Function GetFolderSize(ByVal FolderName As String) As Long

    Dim Folder As New IO.DirectoryInfo(FolderName)
    Dim oFolder As IO.DirectoryInfo
    Dim oFile As IO.FileInfo
    Dim TotalSize As
Long

    Try

        For Each oFile In Folder.GetFiles()
            TotalSize += oFile.Length
       
Next

        For Each oFolder In Folder.GetDirectories()
            TotalSize += GetFolderSize(oFolder.FullName)
       
Next

    Catch ex As System.UnauthorizedAccessException
       
'ここにアクセス権限がない場合の処理を書く
   
End Try

    Return TotalSize

End Function

メモ:フォルダまたはフォルダ内のオブジェクトに対してアクセス権限がない場合の処理はCatchブロック内に記述してください。この例ではアクセス権限がないオブジェクトがあった場合、正しくない計算結果を返します。

使用例

VB.NET2002対応 VB.NET2003対応 VB2005対応


MsgBox(GetFolderSize("C:\Windows\Media\"))