web-dev-qa-db-ja.com

データがあるときにディスク上のファイルのサイズを0バイトにするにはどうすればよいですか。

Windows 10に362バイトのデータを含むファイルがありますが、「ディスク上のサイズ」は0バイトです。これは、アセンブリで書かれ、 Notepad ++ に保存された単純な「Hello world」プログラムです。

ファイルのサイズが362バイトのときにディスク上のサイズがゼロになる可能性はどのようにありますか?

SSDを持っていますが、普通のハードディスクではありません。

プロパティダイアログのスクリーンショット:

Screenshot of the Properties dialog

103
Coder88

これは、ファイルが小さすぎてその内容とファイルシステムの簿記が1KBに収まる場合に起こります。ディスク容量を節約するために、NTFSは小さなファイルを「常駐」に保ち、その内容をファイルレコードに保存するので、クラスタを割り当てないでください。したがって、ファイルレコード以外に何もないので、ディスク上のサイズはゼロです。ファイルが十分に大きくなると、NTFSはそれを "非常駐"にし、1つ以上のクラスタを割り当て(ディスク上に "0"以外の "サイズ"を作成)、データの代わりに "マッピングペア"を作成します。クラスタを指します。

SSDハードドライブまたはWindows 10はこれに影響しません。それは単にNTFSの機能です。さらに読むと、 NTFSファイル増加の4つの段階

「ディスク上のサイズ」の測定基準は正確には正しくないことに注意してください。たとえば、NTFSファイルレコードが占有する1KBという定数が含まれることはありません。このメトリックはWindows 95で導入されました。Windows95はNTFSを使用していないため、この現象を説明できませんでした。ファイルサイズがクラスタサイズの次の倍数に切り上げられただけです。それらの間の多くのWindowsバージョンがNTFSと常駐ストレージを使用していたとしても、その推定アルゴリズムはWindows 7まで持ち越されました。 Windows 8では、常駐データのみを含むファイルをディスク上のゼロサイズとしてカウントするように最終更新されました。さらに読む: 'ディスクのサイズ'とは何ですか?

153
Ben N