文件夹一致性验证脚本

脚本需求来源及应用场景

信息安全很重要的一个点是信息的完整性,随时信息数量的增加,信息保存时间的增长,信息完整性验证是一个艰难且需直面的问题。数据不完整的原因多且常见,简单列举几例如下。文件夹复制的过程中,部分文件复制失败而未注意到提醒(文件占用等)。网盘保存时,被错误识别为违规而删除。固态硬盘不当保存造成文件丢失(固态硬盘断电情况下半年就会丢失大量数据)。劣质光盘染料变质或者划痕。机械硬盘在强磁环境下数据随机丢失。杀毒软件误删除。以及十分常见的人为误操作(取用文件时复制选择了剪切,不小心删除)。
我喜欢按年或者更长的周期保存照片、文档等个人产出的信息,面对一个2015年的文件夹,很难知道里面的内容是否完整。基于此需要,写了此脚本,并制定了文件完整性验证的一个可靠且简单方案。

脚本功能

计算文件夹内所有文件的MD5和SHA256,保存成csv格式,包含文件路径、文件修改时间、创建时间、大小、MD5、SHA256,可用于记录文件夹信息,验证文件夹一致性。

操作方法

操作:双击运行。

第一步,选择要计算的文件夹

第二步,选择输出文件保存位置

第三步,输入备注信息。(可选,会作为输出文件名的一部分)

image

计算完成提醒:
image

输出文件:
image

会输出两个文件,一个为文件夹详细信息,一个为文件夹可比信息。文件名分四部分,信息计算时间 文件夹名 备注 可比/详细信息

文件夹详细信息包括完整路径、创建及修改时间、文件大小、MD5、SHA256。
可比文件夹信息包括相对路径、文件大小、MD5、SHA256。

只要两个文件相同,可比文件夹信息.csv文件就是相同的,通过计算可比文件夹信息.csv,可以判断文件夹是否一致。

比对效果演示

下图是比对效果演示,两个文件夹分别在我的电脑和移动硬盘上(不在同一地理位置),分别计算HASH,对可比文件夹再计算一次HASH(此处使用7zip软件进行,当然也可以用本脚本进行)。显然,两个文件夹信息完全一致。 如果文件夹不一致,可以快速定位不一致的点,及时应对。
采用脚本可以方便的进行文件夹异地一致性验证(异地保存场景),不同时刻一致性验证(每年检查一次)。

3 个赞

源代码及打包好的可执行文件可在此网页下载,在win系统上可直接下载运行exe文件。

太强了!迟早会火!

小文件的话 git 还是更方便.