DOBON.NETプログラミング道掲示板

■34424 / 4階層)  フォルダ内の全ての容量を取得したい
□投稿者/ 魔界の仮面弁士 大御所(1273回)-(2020/01/06(Mon) 12:31:56)
  • アイコン
    No34418に返信(susuさんの記事)
    > C#でフォルダ内のファイル容量(サブフォルダ含め)を取得したいと思いますが
    
    Size プロパティで返される値は、必ずしも実際のディスク使用量とは
    一致していない点に御注意ください。
    (単にファイルサイズの論理合計を返しているのだと思います)
    https://www.haruru29.net/blog/storage-allocation-unit-size/
    
    
    
    ■No34421に返信(susuさんの記事)
    >>> long size = -1;
    > 念のためlong型をdouble型に変更しようと思います。
    
    FileSystemObject ライブラリにおいては、
    Folder オブジェクトの Size プロパティが、
    2 GiB を境に戻り値のデータ型が変わるようです。
    
    2147483647 以下の場合、int 型(C#) / Long 型(VBA)の値を返し、
    2147483648 以上の場合、double 型(C#) / Double 型(VBA) の値を返しました。
    
    
    
    参考までに、整数値を誤差無く保持するために使用できる
    C# の数値型と、それぞれの上限値を記しておきます。
    
    1:decimal 型なら『(2 の 96乗) - 1』バイトまで (約 65536 YiB )
    2:  ulong 型なら『(2 の 64乗) - 1』バイトまで(約 16 EiB)
    3:   long 型なら『(2 の 63乗) - 1』バイトまで(約 8 EiB)
    4: double 型なら『(2 の 53乗) - 1』バイトまで(約 8 PiB)
    5:   uint 型なら『(2 の 32乗) - 1』バイトまで(約 4 GiB)
    6:    int 型なら『(2 の 31乗) - 1』バイトまで(約 2 GiB)
    7:  float 型なら『(2 の 24乗) - 1』バイトまで(約 16 MiB)
    
    ----
    1:decimal 型[128bit] → 79,228,162,514,264,337,593,543,950,335
    2:  ulong 型 [64bit] → 18,446,744,073,709,551,615
    3:   long 型 [64bit] → 9,223,372,036,854,775,807
    4: double 型 [64bit] → 9,007,199,254,740,991
    5:   uint 型 [32bit] → 4,294,967,295
    6:    int 型 [32bit] → 2,147,483,647
    7:  float 型 [32bit] → 16,777,216

解決み!
421×580 => 181×250
イメージ
02.png
/14KB
違反を報告
削除キー/

前の記事(元になった記事) 次の記事(この記事の返信)
←Re[3]: フォルダ内の全ての容量を取得したい /susu 返信無し
 
上記関連ツリー

Nomalアイコン フォルダ内の全ての容量を取得したい / susu (20/01/01(Wed) 21:26) #34418
Nomalアイコン Re[1]: フォルダ内の全ての容量を取得したい / jikoryuu (20/01/03(Fri) 13:20) #34419
  └Nomalアイコン Re[2]: フォルダ内の全ての容量を取得したい / Azulean (20/01/03(Fri) 17:28) #34420
    └Nomalアイコン Re[3]: フォルダ内の全ての容量を取得したい / susu (20/01/04(Sat) 13:47) #34421 解決み!
      └Nomalアイコン フォルダ内の全ての容量を取得したい / 魔界の仮面弁士 (20/01/06(Mon) 12:31) #34424 解決み! 02.png/14KB ←Now

All 上記ツリーを一括表示 / 上記ツリーをトピック表示
 
上記の記事へ返信

Mode/  Pass/


- Child Tree -