每一项都会影响最终结论
| 设置项 | 作用 | 取舍建议 |
|---|---|---|
| 内容判定方式 | 决定按字节还是按规则比较 | 结构化文件用规则比较更合适 |
| 忽略时间差异 | 时间不同不视为差异 | 核对内容时建议开启 |
| 忽略大小写 | 标识符大小写不敏感 | 代码与配置一般开启 |
| 忽略空白字符 | 行尾空格差异不计 | 多人协作时开启 |
| 指定文件编码 | 按指定编码解读文本 | 来源不明时必须手动指定 |
| 递归深度 | 控制子目录比较层数 | 深层目录先浅后深 |
| 外部程序调用 | 对特定类型用外部工具 | 仅对专有格式按需开启 |
| 文件大小阈值 | 跳过超大文件 | 媒体目录建议设置阈值 |
把每次核对的口径记录下来。核对的结论只有在口径一致的前提下才有可比性。
为什么两次核对结果不一样
先确认两次用的是同一套设置。口径变化是最常见的原因,比文件本身变化更常见。
排除规则写多了会不会误伤
有可能。规则越复杂越容易误排除,建议写完之后用查找功能核对命中的文件列表。
核对结论需要留什么记录
把设置项、比对时间范围、差异数量与清单一起存下来。以后复核时能直接复现。
能不能自动定期核对
可以借助命令行模式或者任务计划实现。定期核对适合用来监控目录内容是否被意外改动。
大文件的比较有哪些替代做法
先按哈希值比对判断是否相同,再对确认不同的文件做细粒度比较,能省下大量时间。
不同文件系统的修改时间精度不一样,有的精确到秒,有的精确到更小单位。跨文件系统复制之后,时间戳可能出现细微差别。
核对内容一致性时,把时间差异忽略掉,只看内容是否相同,结论会干净很多。只有在关心同步顺序的场景下,才需要把时间纳入判断。