我的想法是在两个时间点之间随时间跟踪文件系统上的特定文件,T1
并且T2
. 这里的重点在于将文件视为文件系统上的唯一实体。一种可以改变数据和属性但仍保持其独特身份的产品。
最终目标是通过捕获T1
和T2
记录文件的数据哈希和创建/修改属性T1
并将它们与T2
. 如果所有属性都未更改但哈希未验证,我们可以说存在问题。在所有其他情况下,我们可能愿意说更改的哈希是修改的结果,而未更改的哈希和未更改的修改属性是文件(数据)根本没有更改的结果。
现在,有几种引用文件的方法和相应的缺点:
- 文件的路径:但是,如果将文件移动到不同的位置,此方法将失败。
- 文件数据的数据哈希:允许找到文件,或者更确切地说(a)指向磁盘上文件数据的指针,即使指针已移动到不同的目录,但数据不能更改或者这种方法也失败了。
我的想法是检索该特定文件的 fileIdT1
以跟踪该文件 at T2
,即使它已更改其位置,因此不需要将其视为新文件。
我知道 pywin 提供的两种方法。win32file.GetFileInformationByHandle()
和win32file.GetFileInformationByHandleEx()
,但它们显然仅限于特定的文件系统,破坏了跨平台兼容性并偏离了跟踪文件的通用方法。
我的问题很简单:是否有任何其他想法/理论来跟踪文件,最好是跨平台/FS?
欢迎任何头脑风暴的思考食物!