使用 C# 查找 Office 重复文件内容

本文关键字:文件 查找 Office 使用 | 更新日期: 2023-09-27 18:35:13

我计算一个校验和以与其他文件进行比较并查找重复文件,但对于办公文件,包括共享点属性。因此,例如,具有不同位置的文件没有相同的校验和。

我的想法是在内存流中打开此文件解压缩xml(用于单词单词/文档.xml),并使用它来计算校验和或使用我的zip库的crc属性。通过这种方式,我不包括文档属性,而只包含内容(一部分)

它运行良好,但对于Excel或PowerPoint,文件夹中有几个文件来表示文档的内容。

首先,你认为这是正确的方式。其次,如何组合文件的crc属性以具有代表内容文件夹的CRC。

对于单词/单词
对于 Excel/xl/工作表
对于幻灯片 ppt/幻灯片

使用 C# 查找 Office 重复文件内容

对文件使用 CRC 哈希(剥离 sharepoint 元数据)似乎是合适的。只要 CRC 足够长,可以根据您正在索引的文件数提供统计上唯一的哈希值。

为什么要将它们组合成基于文件夹的CRC?您打算如何组合它们?如果您正在考虑仅对文件夹值的CRC求和,我会说这不能保证是唯一的。

我认为最好使用CRC作为键创建一个字典,然后简单地使用Dictionary.ContainsKey进行查找/比较

或通过字典监视重复条目。添加捕获参数(键已存在)