» 您尚未登录:请 登录 | 注册 | 标签 | 帮助 | 小黑屋 |


发新话题
打印

[电脑] 有没有软件可以自动合并电脑所有硬盘里的相同文件?

posted by wap, platform: iPhone
引用:
原帖由 @安非他命  于 2016-11-11 21:36 发表
自己写代码
从起始目录开始遍历
每个文件算md5
相同的只留一个
你写过吗?写过就知道这方案不可行

或者说需要复杂的优化策略才可以


TOP

posted by wap, platform: iPhone
引用:
原帖由 @安非他命  于 2016-11-12 16:07 发表
老天爷

https://github.com/artzers/Pytho ... eleteRepeatFiles.py
10T硬盘1000w个文件你拿这玩意试试看



TOP

posted by wap, platform: iPhone
引用:
原帖由 @安非他命  于 2016-11-12 19:48 发表
这么多文件!
好厉害哦!
好高端哦!
肯定是高级程序员才可能有这么多文件哦!
实际上我公司的开发机是4T硬盘现在有650w文件,因为确实代码很多而且svn本地缓存就不说了

我认为py是搞不定的,实际上用c++不来点狠的方法32位程序也不太容易,无论是内存占用还是速度,要是扫一遍要几天那毫无价值


TOP

posted by wap, platform: iPhone
引用:
原帖由 @solbadguy  于 2016-11-12 21:59 发表
我也一直找这个作用的软件,但是不太理想。比如一张图片有几个大小,想保留质量最好那张。
这个功能我厂手机app上面有…pc端真有很大需求吗?真要呼声很高我可以要代码看看能不能搞搞

TOP

引用:
原帖由 cc0128 于 2016-11-13 09:17 发表
posted by wap, platform: Samsung
算了下。md5 hash 是128bit 长度。
假如1000w个文件内存占用 128 * 1000w = 160MB。
计算时间 貌似md5 是O(n) 复杂度?(n 为文件大小)
loop一遍file也是o(n)?
对比hash用has ...
too young……

就一个文件来说,MD5才16个byte,那么消重和删除还得有文件的路径吧,你存吗?
就算存NTFS FRN这还是要多8个字节,这就240MB了,存全路径直接血崩。当然不用存全路径,内存里放个目录树就行了,每个文件指向自己的parent dir,这个指针4个字节,又多了40M

当然这都是只算数据本身,没有算容器的内存消耗,我只想说无论是vector还是map还是hashmap在这个数量级上都是血崩的,特别是new(malloc)本身的内存消耗。
不信你new 1000w个 16字节的结构体看看用了多少内存。

前段时间蛋疼恰好撸了这么一个玩意,直接上C++不用奇技淫巧,600w文件用大于1G内存。当然后来我用奇技淫巧优化后好看太多就不说了。

TOP

发新话题
     
官方公众号及微博