Parsing FAT32-根目录的大小

Parsing FAT32-根目录的大小,parsing,filesystems,fat32,Parsing,Filesystems,Fat32,我试图解析FAT32的根目录,以便在根文件夹中获得目录列表 所以我需要检查根目录中的所有目录条目并解析它们。 我的问题是,我不知道何时停止迭代-如何获得根目录的大小 我注意到引导扇区中有一个字节,即根目录中的条目数,但在FAT32中,该值始终为0,因此如何获取目录的大小?根据定义,FAT32引导扇区地址17处的短整数为0,只有较旧的FAT才为非零。地址44处的整数应该指向根目录所在的第一个集群。(该集群通常是集群2。) 对于FAT32,您的代码应将根目录视为任何其他(非根)目录。您没有提到您正在

我试图解析FAT32的根目录,以便在根文件夹中获得目录列表

所以我需要检查根目录中的所有目录条目并解析它们。 我的问题是,我不知道何时停止迭代-如何获得根目录的大小


我注意到引导扇区中有一个字节,即根目录中的条目数,但在FAT32中,该值始终为0,因此如何获取目录的大小?

根据定义,FAT32引导扇区地址17处的短整数为0,只有较旧的FAT才为非零。地址44处的整数应该指向根目录所在的第一个集群。(该集群通常是集群2。)


对于FAT32,您的代码应将根目录视为任何其他(非根)目录。

您没有提到您正在使用的编程语言。在创建解析器/循环之前,首先探索这样的替代方案不是更容易吗?(伪代码)
var diskSize=RootFolder.TotalSize()如果可以定义根路径并使用类似.TotalSize()的东西(假设它以递归方式工作以包含所有子文件夹中的文件),那么为什么假设需要解析任何内容?欢迎使用StackOverFlow…)好的,所以如果我没有目录的大小,我仍然不知道如何迭代FAT32中根目录中的所有条目?好的。我仍然需要你的帮助。。所以我迭代这些条目,直到得到DIR_Name[0]==0x00。它起作用,但并不总是如此。我有一个FAT32的图像,我注意到他的一个目录入口()在图像的中间。(因此条目不是顺序的)。奇怪的是,在到达目录条目()之前,我得到了DIR_Name[0]==0x00,因此错过了这个条目。。有人有主意吗?谢谢您可能需要一个单独制定的问题,在这里您可以附加解析代码和FAT32的十六进制/二进制文本转储文件,而FAT32不起作用。如果不明确知道您是如何获得DIR_名称的,并且您如何知道确实有一个目录条目您似乎错过了,那么很难回答您的评论。根目录是否可以超过一个群集?我认为FAT32的群集大小不可能小于2KB。