[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

[文件操作] [已解决]批处理怎样靠CRC32校验来删除文件?

0000aaca  3337424.pdf
0000b4be  2276006.pdf
0000b4c3  2490533.pdf
0000b4c3  543543543543534-----2917205.pdf
0000b9b0  1495391.pdf
0000bf34  2377773.pdf
0000bf34  567676868678-----3015760.pdf

在F盘根目录下有个AA文件夹  里面有300多万个文件  我建了一个文本文件 按照左边是CRC32校验码  右边是文件名的格式

想把左边CRC32校验码是一样的重复文件 提取出来 只保留一组
比如
0000bf34  2377773.pdf
0000bf34  567676868678-----3015760.pdf
这2组 0000bf34出现2次 说明这2个文件是重复的   删除其中一个文件到回收站  千万别彻底删除了 文件我还有用

需要注意的是  文本文件只有CRC校验码和文件名 并没有路径  只能保证文件名不出现重复 文件夹下还有N多的子文件夹

请会的朋友帮忙 谢谢~
1

评分人数

    • Batcher: 感谢给帖子标题标注[已解决]字样PB + 2

回复 4# ShadowFiend
回复楼主  你这个批处理貌似从新校验CRC32   我文件有将近300万个  时间太长了

再说 我已经校验好了
0000aaca  3337424.pdf
0000aaca就是3337424.pdf CRC32校验码
我已经放到了一个文本文件里  现在就是要处理这个文本文件

关键就是这个文本文件没有路径 不好删除
我的愿望是先处理这个文本文件  得到重复的文件名  然后遍历文件夹 去删除同名的文件

TOP

文件名我已经重命名过了 基本可以排除有重名
就是子文件夹有点多

TOP

楼上的代码有那么点意思了  不过还有点问题
删除的内容只在CMD窗口下显示  不能写入到文件
干脆直接把重复的那一行直接删除吧
反正CRC32的校验码都是固定的前8位  只要前8位字符是一样的  重复的行都删除 只保留一行就行了

TOP

BAT-VBS  你这个批处理 我估计了一下 大概要5个小时 太猛了
半个小时 大概才整理出2万左右
我估算了一下 我这个好像总共有20万左右的重复文件

weichenxiehou 的办法貌似没办法进行   先将要删除的文件名输出到一个文本a.txt  我没有办法得到
再将所有文件的完整路径输出到一个文本b.txt  这个可以  我用Everything导出就可以了

还有::将下一行的crc32.txt替换为实际的文件名 这一句  这个CRC32.TXT是个什么东西   和 A.TXT 是什么关系 要这个文件做什么?

TOP

好滴 帅哥 我试试

TOP

weichenxiehou  你那个批处理不错  就是能稍微改进一下  我刚测试了一下你的批处理 你那个文件删的没影了  能否删除到回收站  重复的文件我还要 还得比对一下

TOP

BAT-VBS   你的批处理 我从中午12点半开始 到下午的6点半 执行了大概6万左右
刚开始速度还没到那种无法忍受的地步 到后来 几乎是越执行越慢 到6点半 果断放弃
如果20万的重复量的话  不知道1天跑不跑的完

TOP

weichenxiehou的代码 没敢用300万文件试 先用4000左右的文件测试 非常快 用他的批处理 几秒之内搞定 效率不错 打算今晚大规模用

TOP

300万的PDF文件 数量巨大 本来想用查找重复的软件弄弄 结果动辄就要起码1天的时间  想想放弃了  想走点捷径 看看批处理 貌似没太好的办法 结果用了一个自己都觉得恶心的办法 用WINRAR来提取CRC32的校验码 300万的文件 用了6个小时 还凑合 基本符合预期 配合批处理我估计 应该很快
这些要谢谢BAT-VBS 和weichenxiehou 2个兄弟大力帮忙

TOP

weichenxiehou最后的代码 出现了和BAT-VBS 类似的瓶颈   都是6个多小时查找到6万左右 跑起来相当费力  CPU占用50% 内存只耗费不到19M  感觉不像是内存的问题 我是2G的内存 5300的U  应该还凑合吧
是不是CMD本身的限制
namejm 版主改写的批处理貌似运行了一闪而过  只有一个backup文件夹 里面没东西 软件也下了 是哪有问题?

TOP

我现在是这么一个想法
文本文件A 内容如下
3eb27c6f  8026844.pdf
e259ce1a  8026845.pdf
e259ce1a  8026644.pdf
d85ec019  8026847.pdf
e84f9de0  8026848.pdf
我再弄一个文本文件B   将所有PDF的完整路径和名称用Everything导出来

用文本文件A 和文本文件B去做比较  得出重复文件的完整路径和名称  然后转移保存到文件夹 岂不是更快

TOP

返回列表