![如何找到 FAT32 文件夹中可用文件目录空间的实际数量?](https://linux22.com/image/1360523/%E5%A6%82%E4%BD%95%E6%89%BE%E5%88%B0%20FAT32%20%E6%96%87%E4%BB%B6%E5%A4%B9%E4%B8%AD%E5%8F%AF%E7%94%A8%E6%96%87%E4%BB%B6%E7%9B%AE%E5%BD%95%E7%A9%BA%E9%97%B4%E7%9A%84%E5%AE%9E%E9%99%85%E6%95%B0%E9%87%8F%EF%BC%9F.png)
我知道 FAT32 文件夹中大约有 64K 个文件。这假设有 8.3 个文件名。较长的文件名会占用多个位置。因此,很难知道实际使用了多少个目录条目。
我偶尔会遇到此限制,因为文件名很长,而不是文件数量太多。有没有办法让我们知道文件夹中实际的可用文件目录空间数量?
答案1
我不知道有什么工具可以让你计算 FAT32 文件夹中正在使用或可用的目录条目“插槽”数量。一位名叫Udi Cohen 有一个 C++ 实用程序用于对 fat32 中的文件名进行排序,您可以定义一个类来枚举或获取这些条目的数量
该限制由文件系统设置。FAT32 可以有 65,536 个条目。每个文件和子目录占用 2 到 13 个条目,具体取决于其名称的长度。
FAT32 规范可在此处获得: http://www.microsoft.com/whdc/system/platform/firmware/fatgen.mspx
它提供了所有内容的详细信息,包括目录结构和长文件名(LFN)在目录中的存储方式。
基本上,有一个目录条目始终保存文件名的短版本 (8.3)。如果实际名称不符合该模型,则将有 1 到 12 个条目,每个条目保存全名的 13 个字节。因此,名为“veryverylongname.txt”的文件将占用三个条目。第一个条目是短名称,例如“veryve~1.txt”,第二个条目是“veryverylongn”,第三个条目是“ame.txt”。