共计 589 个字符,预计需要花费 2 分钟才能阅读完成。
本程序的原理是扫描目标目录的所有文件,计算他们的 md5 值,如果一样,说明是一个文件。
统计出来所有 md5 值后,找到副本数量大于 1 的文件,只保留一份副本,然后用这份副本做硬链接到其它的几个副本文件名处。
从而尝试释放空间。
由于 FAT/FAT32/EXFAT 等文件系统不支持硬链接,所以这样的文件系统是不被支持的,也就不用尝试了。
(当前一般 windows 都是 ntfs 文件系统,支持硬链接)
最初写来是用来给微信数据文件夹瘦身的,因为微信的各种文件转发,图片转发什么的,都是 copy,不是 hard link。
改成 hard link 后,个人的 30G 占用空间,一下子就少了 10G。
当然非微信的目录也是一样的可以文件去重。第一次执行时,它会自动生成一个 dedup_files.ini 的配置文件,
其中 dirs 里面指定了哪些目录是要扫描进行去重的,
cache_file:参数指定存放 cache 文件的路径,默认放在当前程序路径下
md5_key_file:以 md5 为 key 的 hash dict,文件存放路径
ask_before_del:删除文件前,是否进行询问
可以到此下载 exe 版本:
链接: https://pan.baidu.com/s/1CmxRMdTNMMDeoe69x6r6qg?pwd=y3gx 提取码: y3gx
正文完