VBレスキュー(花ちゃん)
VB2005用トップページへVBレスキュー(花ちゃん)のトップページVB6.0用のトップページ各掲示板

メニューへ戻ります。 ファイル関係のメニュー
1.ファイルの情報(属性・タイムスタンプ・サイズ)を取得・設定する
2.ファイルのコピー・移動・削除・ファイル名の変更
3.ファイルに関するパス操作色々
4.指定のフォルダー内のファイルをすべて列挙する
5.指定フォルダー内の全ファイル数・サブフォルダー数を取得する
6.指定フォルダー以下のサブフォルダー内を含めた総ファイル数を取得
7.指定フォルダー以下のサブフォルダー内含めた総ファイルサイズを取得する
8.指定フォルダー以下サブフォルダー内も含む全ファイルを列挙する
9.
10.
11.
12.
 .
20.その他、当サイト内に掲載のファイルに関するサンプル


7.指定フォルダー以下のサブフォルダー内含めた総ファイルサイズを取得する(32_Fil_07) (旧、SampleNo.026)
1.指定フォルダー以下のサブフォルダー内含めた総ファイルサイズを取得する
2.FileSystemObject オブジェクト を使って同様に取得
3.
4.
5.
6.

 下記プログラムコードに関する補足・注意事項 
動作確認:Windows 8.1 (Windows 7) / VB2013 (VB2010) / Framework 4.5.1 / 対象の CPU:x86
Option :[Compare Text] [Explicit On] [Infer On] [Strict On]
Imports :追加なし
参照設定:
プロジェクト → 参照の追加 → COM で Microsoft Scripting Runtime を参照設定しておいて下さい。
その他 :
    :
このサンプル等の内容を無断で転載、掲載、配布する事はお断りします。(私の修正・改訂・削除等が及ばなくなるので)
必要ならリンクをはるようにして下さい。(引用の場合は引用元のリンクを明記して下さい)
このページのトップへ移動します。 1.指定フォルダー以下のサブフォルダー内含めた総ファイルサイズを取得する

Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
'指定フォルダー以下(サブフォルダー内含む)の全ファイルサイズを取得する
    Dim di As System.IO.DirectoryInfo = New System.IO.DirectoryInfo("../../")
    'ファイルサイズを取得
    Dim sumFile As Long = GetDirFileSize(di)
    MessageBox.Show(sumFile.ToString("#,###") & " バイトです。")
    '結果は、エクスプローラーで表示される値と同じです。
End Sub

Public Shared Function GetDirFileSize(ByVal d As System.IO.DirectoryInfo) As Long
'指定フォルダー以下のファイルサイズを取得する関数
'エクスプローラーのフォルダーのプロパティの全般のところで表示しているファイルサイズと同じ
    Dim fSize As Long = 0
    Dim fis As System.IO.FileInfo() = d.GetFiles()
    Dim fi As System.IO.FileInfo
    'フォルダー内のファイルサイズを取得
    For Each fi In fis
        fSize += fi.Length
    Next fi
    Dim dis As System.IO.DirectoryInfo() = d.GetDirectories()
    Dim di As System.IO.DirectoryInfo
    'サブフォルダー内のファイルサイズを合計する
    For Each di In dis
        fSize += GetDirFileSize(di)
    Next di
    Return fSize
End Function

このページのトップへ移動します。 2.FileSystemObject オブジェクト を使って同様に取得

Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
'指定フォルダー以下(サブフォルダー内含む)の全ファイルサイズを取得する
    'FileSystemObject オブジェクト の
    'Folder オブジェクト の Size プロパティ で取得
    Dim Fso As New Scripting.FileSystemObject
    Dim fd As Scripting.Folder = Fso.GetFolder("../../")
    MessageBox.Show(CInt(fd.Size).ToString("#,###") & " バイトです。")
    '結果は、エクスプローラーで表示される値と同じです。

    'COMオブジェクトの解放
    System.Runtime.InteropServices.Marshal.ReleaseComObject(fd)
    System.Runtime.InteropServices.Marshal.ReleaseComObject(Fso)
End Sub

このページのトップへ移動します。 3.


このページのトップへ移動します。 4.


このページのトップへ移動します。 5.


このページのトップへ移動します。 6.


このページのトップへ移動します。 検索キーワード及びサンプルコードの別名(機能名)





このページのトップへ移動します。