DSOFile.OleDocumentProperties.Save修改与NTFS上的文件关联的元数据。
它是否修改了文件本身,意味着校验和将发生变化?
还是只修改了有关文件的一些NTFS元数据,但是校验和将保持不变?
更多关于DSOFile的信息:KB,Technet
信用:这实际上是伊尔莫在https://stackoverflow.com/a/13172244/226958内部进行的自我盘问。
发布于 2012-11-06 04:14:44
它取决于文件格式和文件所在的文件系统。
如果文件是OLE格式,则文件本身将被修改,因为属性包含在文件中。这将导致文件数据被修改,其大小可能会更改。任何文件哈希生成器(如CRC、MD5、SHA1等)在更改其中一个属性之前和之后会产生不同的结果。
如果该文件不是OLE格式,则所有属性都将保存在一个或多个NTFS文件流中,这些文件流在物理上与文件数据分离。这将导致文件上一次修改时间上的更改,但不会导致文件数据被修改或大小更改。文件哈希生成器将在更改其中一个属性之前和之后产生相同的结果,假设程序没有考虑到文件的最后修改时间及其文件流。对于非NTFS文件系统,OLE文档属性不适用于所有文件。
https://stackoverflow.com/questions/13172949
复制相似问题