索引文件系统的程序似乎知道自上一个索引以来哪些部分已更改,并且只重新扫描该部分.如何确定自上次索引以来文件系统/文件的更改位置.不在乎你回答的语言,但我在想c和windows.
这种程序的一个例子是Sequoia View,它生成硬盘的树形图.
一种相当简单的方法是将文件系统报告的文件大小,日期(作为整数值)和文件名放在给定目录中,然后计算一个校验和,然后将其与该目录关联.您仍然需要使用文件系统数据对所有目录执行此计算,但您不必深入(打开文件以检查差异),除非校验和报告了差异.
为了跟踪文件级别的特定更改,您将根据各个文件属性存储校验和,并且自上次扫描以来存储或不存在文件和子目录.
这并不一定能保证没有发生更改,因为存在用于更改所有属性的文件系统实用程序,尽管这对于基本扫描来说是一个很好的第一步.
您可能会发现源代码的fswatch很有帮助.