本程序的原理是掃描目標目錄的所有文件,計算他們的 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 版本:
鏈接:?
?提取碼: y3gx
源碼在:
? 版權聲明
文章版權歸作者所有,未經允許請勿轉載。
THE END