ディレクトリのサイズを取得する方法 (ファイルの長さを再帰的に合計する方法) については、たくさんの質問と回答があります。
しかし、私が見たすべての答えは不完全です。ボリュームを再帰的に反復する場所には、例外をスローするディレクトリがあります-UnauthorizedAccessException
たとえば。また、Win 7 には 260 文字を超えるパスがあり、PathTooLongException
.
つまり、少なくとも C# では、例外をスローするディレクトリまたはファイルをスキップする必要があるため、C:\ ドライブをスキャンして実際のボリューム サイズを取得することはできません。
特定のディレクトリのディスクに保存されているバイトの適切で真の正確な数値を取得する方法を探しています。低レベルで C++ を書く必要があるかどうか、または Win API を呼び出す必要があるかどうかは気にしません。
これはどのように達成できますか?ありがとう。