フォルダにあるファイルの合計サイズを取得するサンプルです。
サンプル
例)C:\temp\フォルダにあるファイルの合計サイズを取得する
using System;
using System.IO;
using System.Diagnostics;
DirectoryInfo di = new DirectoryInfo(@"C:\temp\");
FileInfo[] fi = di.GetFiles();
long totalFileSize = 0;
foreach (FileInfo f in fi)
{
totalFileSize += f.Length;
Debug.WriteLine($"{f.FullName}, {f.Length}");
}
Debug.WriteLine($"合計サイズ:{totalFileSize}");
結果例
C:\temp\test01.xlsx, 10133
C:\temp\test02.xlsx, 701901
C:\temp\test03.xlsx, 182682
合計サイズ:894716
サブフォルダのファイルも対象に含めたい場合は、6行目を以下のように変更してください。
FileInfo[] fi = di.GetFiles();
↓
FileInfo[] fi = di.GetFiles("*", SearchOption.AllDirectories);
備考
- ファイルサイズはFileInfoのLength()で取得できます。
- フォルダ配下のファイルの合計サイズを求めるには、Length()で取得した値を加算すればOKです。