一个通过散列在文件夹里找出相同文件工具(译)
原文:http://www.codeproject.com/KB/files/DuplicateFinder.aspx
点击下载源码:https://files.cnblogs.com/zhangjidong/DuplicateFinder_src.zip
介绍
每年一次,我做一项比较可怕的工作,清理我创建或者下载的文件,最后一次我试着去干这件事情,我认为半自动化的做这件事情是一项比较复杂的事情,我需要一些免费,好用的工具去找到重复的文件,但是我没有找到符合我需要的。
我决定写一个。
背景
CRC算法的方法在http://www.fesersoft.com/dotNet可以找到。我通过调用一个杜里的函数库使用MD5,我添加一个事件到MD5计算方法中,用于计算散列进行情况,这是一个进程,用于读取流的闻之,当md5计算方法读取相同流的时候。
使用守则
The utility uses two main classes, DirectoryCrawler, and hashing. The use is so obvious :)
主要用到两个类:classes和DirectoryCrawler,他们的用途显而易见。
兴趣点
#优化文件的移动,当移动大文件的时候,界面反应迟钝。
#添加一个可以选择用crc32还是MD5散列的选项。
#也许使用XML为配置文件,在移动重复文件到D:"DuplicateFiles(这是硬编码,微软万岁!)
并且当扫描的时候跳过,对我是充足的。
#不要忘记把你的帖子弄成大纲。
#(已经做了):写一个事件,可以激活MD5类,用于汇报散列进程,设想有个10GB。
历史
v0.2:
添加List<Fileinfo> 和List<string[]> 取代数组列表。
MD5散列渠道CRC32
添加跳过源目录操作
添加除去子目录操作
一些优化
许可
这篇文章,联通任何相关源码和文件,都遵循CPOL。