ソースファイル
実行結果
フォルダサイズ 14458579823 フォルダサイズ カンマ表示 14,458,579,823 フォルダサイズ サイズ変換 13.47 GB フォルダ一覧サイズ表示(サイズ変換:無 形表示:無) 2019/12/19 23:08:09 97,978,208 Test1 2019/12/25 03:52:33 11,359,892,803 Test2 2019/12/19 23:10:20 2,246,219,981 Test3 2020/02/02 04:39:59 0 Test4 2019/12/26 12:41:12 753,614,529 Test5 2020/03/07 19:14:56 874,302 Test6 フォルダ一覧サイズ表示(サイズ変換:有 形表示:有) 2019/12/19 23:08:09 93.44 MB Test1 2019/12/25 03:52:33 10.58 GB Test2 2019/12/19 23:10:20 2.09 GB Test3 2020/02/02 04:39:59 0.00 B Test4 2019/12/26 12:41:12 718.70 MB Test5 2020/03/07 19:14:56 853.81 KB Test6 フォルダ一覧サイズ表示 カスタム指定子「,」を使った簡易サイズ変換[#,0,,] 2019/12/19 23:08:09 98 MB Test1 2019/12/25 03:52:33 11,360 MB Test2 2019/12/19 23:10:20 2,246 MB Test3 2020/02/02 04:39:59 0 MB Test4 2019/12/26 12:41:12 754 MB Test5 2020/03/07 19:14:56 1 MB Test6
解説
フォルダを指定してフォルダサイズを取得し、サイズを変換して型付きの表示に変換しています。
GetDirectoryFileSize ・・・ フォルダサイズ取得
ToHumanReadableSize ・・・ サイズ変換
書式設定を使ってカンマ区切りや小数点の表示しています。
例)",10:#,0.00"
,10 ・・・ 桁数指定です。カンマで区切って桁数を指定しています。
プラスは右寄せ、マイナスは左寄せ。
#,0.00 ・・・ 桁区切りを指定して小数点第2位まで表示させています。
123456.78 -> 123,456.78
12.3 -> 12.30
サイズ変換で「TB」など必要になれば、
ToHumanReadableSizeメソッド var unit = new[] { "B ", "KB", "MB", "GB" }; ↓ var unit = new[] { "B ", "KB", "MB", "GB", "TB" };
のように配列を追加していけば対応出来ると思います。
ファイルサイズなど数字を表示するときにカンマ表示など書式の設定方法など調べたりすることが多かったので少しまとめようと思いました。
サンプルではコマンドのDirの表示形式にしています。
フォルダサイズ取得など参考先のコードをほとんどそのまま使わせてもらっています。本当にありがとうございます。
参考
開発環境 テスト環境
Windows10 Pro(64bit)
VisualStadio Community 2019
.Net Freamework 4.8
C#