ファイル操作

[C#] フォルダにあるファイルの合計サイズを取得する

2023年6月23日

フォルダにあるファイルの合計サイズを取得するサンプルです。

サンプル

例)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です。

関連記事

-ファイル操作