半个下午,整理相册,清理了1万多张重复图片,分享下简陋方法

  • y
    yhny
    一直想整理,但一直没有做。
    下午刚好有空,手动整理了下,比预计的简单还要快。
    标记下,方便以后整理图片。

    我不大相信市面上清理重复图片的软件,所以按照电工思维,使用的是文件MD5对比校验,基本可以保证100%准确率。

    使用工具:
    1、md5命令行小工具(http://www.fourmilab.ch/
    2、TotalCommander
    3、BAT文件
    4、Execl
    5、Emeditor

    实施过程:
    1、建立 工作目录文件夹 ,把md5.exe、MD5.BAT、DEL.BAT 放入;
    2、用TC打开需要整理的文件夹,使用Ctrl+b,显示出所有文件,然后Ctrl+a选定全部文件,Ctrl+3(复制名称(包括完整路径))。 注意:如果你的快捷键与我的不同,可以去菜单中寻找相关项目;
    3、打开Emeditor,粘贴进去,后缀txt(eg: s.txt)保存到 工作目录文件夹 ,如果保存报编码错误,那就是 文件路径或者文件名 可能使用了空格之类不规范的命名方法,自己检查下;
    4、运行MD5.BAT,按照提示输入刚才保存的txt文件名(s.txt)和md5计算后的txt文件名(d.txt),根据你文件数量大概30分钟?(小技巧:可以把s.txt分成好几份txt文档,这样可以使用多个MD5.BAT运行,也就是并发);
    5、将生成的d.txt文件打开,复制到Excel sheet1,使用分列(空格),得到md5列和文件路径列;然后选定数据区域, 条件格式->突出显示单元格规则->重复值,我一般标记为红色;再然后选定数据区域,以MD5列为标准,按照颜色排序,复制有颜色的MD5值所在行(即重复值)到sheet2、sheet3;
    6、在sheet3中,选定数据区域,以MD5列为标准,使用 删除重复项 按钮,得到每张照片唯一的对应路径名;
    7、对比sheet2与sheet3,在sheet2中找出sheet3中没有的行;(在sheet2中找到空白列,比如c1,输入 =IF(COUNTIF(Sheet3!$B$1:$B$xxxx,B1),"Y","N") , 将xxxx替换为sheet3的行数,然后向下填充);
    8、在sheet2中按照(Y/N)值排序,然后复制含有 “N” 值的行到sheet4;
    9、在sheet4中,选择文件路径列,复制到Emeditor,保存到工作目录文件夹,命名为del.txt;
    10、运行DEL.BAT,按照提示输入刚才保存的txt文件名(del.txt)即可完成收工。

    附上bat源代码,自己不大熟练,网上找的:
    MD5.BAT:
    @echo off
    setlocal enabledelayedexpansion
    set /p F_name=请输入要处理的文件名:
    set /p D_name=请输入处理后的文件名:
    for /f "tokens=*" %%a in (%F_name%) do (
    set "st=%%a"
    md5.exe !st! >> %D_name%
    )
    echo 文本处理完毕,按任意键退出
    pause>Nul

    DEL.BAT:
    @echo off
    setlocal enabledelayedexpansion
    set /p F_name=请输入要处理的文件名:
    for /f "tokens=*" %%a in (%F_name%) do (
    set "st=%%a"
    del !st!
    )
    echo 文本处理完毕,按任意键退出
    pause>Nul

    MD5.BAT(245 Bytes)DEL.BAT(192 Bytes)md5.exe(48 KB)
  • 1
    13121982
    赞一个 iOS fly ~
  • y
    yetful
    谢谢楼主分享方法。


    晕了,楼下还是推荐下一步到位的软件吧。
  • h
    haydenzhang
    赞一个,不知名的软件错误率高 iOS fly ~
  • s
    stevenflp
    马克 iOS fly ~
  • j
    jtyxr
    这么复杂……
    我记得以前我用过一个对比相似度的软件,我也专门求过 iOS fly ~
  • s
    sthmb
    不错不错HiPDA·NG
  • n
    netecho
    技术贴,收藏了
  • y
    yesok1
    这个也太专业了 必须马克
  • q
    queeki
    有个compare(不知道拼写对不对)软件,对付这个好极了 白鹿原!枣枣枣
  • v
    viaj
    虽然用不上,但支持电工原味贴HiPDA·NG
  • m
    moondust
    马克是必须的
  • w
    wuzongyou
    VisiPics照片查重。
  • b
    bugu138
    回复11#queeki

    beyondcompare?支持文本文件,也支持图片吗?
  • 内裤猪
    如果相同图片在不同目录被软件引用,怎么处理

    这个只能处理自己拍的照片。而且同时拍多张也处理不了。
  • E
    Efree.
    啊啊啊啊,一定要马克试试了 iOS fly ~
  • x
    xain
    mac上有专门的appHiPDA·NG
  • q
    queeki
    支持,我经常用 白鹿原!枣枣枣
  • b
    bugu138
    回复20#queeki

    下次试试
  • o
    owcheng
    我都用doublekiller,非常小巧
  • 微笑的刺猬
    (⊙o⊙)哇,这个好,谢谢分享 iOS fly ~
  • l
    lifanxi
    一个改进点:

    直接算MD5性价比太低,只要对大小相同的文件算就可以了。

    还可以考虑用Python实现,相同的功能用Python 50行以内代码,全自动了,不需要这么繁琐。

    另外,这么做的一个大缺点是,没有考虑目录的存在,去重后有可能逻辑上相关的文件被分布在多个目录中,每个目录里都不全,合集才是完整的。
  • y
    yhny
    网上大把,不过我这个比较最求精确度。而且应用范围不止图片格式,任何格式都行。
  • y
    yhny
    小case,这里面使用了tc。
  • r
    reneth
    我也用这个,不过有时候选错把正本删了。。导致文件名不太一致。。 iOS fly ~
  • 孤竹
    DupFileFinder这个有绿色版
  • y
    yhny
    MD5确实性价比低,但是我cpu 7700,不care;而且我追求的是100%精确,哪怕相差1bit也可以区分;
    哥们说的缺点基本不存在啊,我就是要去重,基本没有什么逻辑相关。真要逻辑相关,可以按照图片的N多属性筛选,题外话了。。。
  • p
    psterman
    哪个出个图形界面吧 现在市面上缺这种 iOS fly ~
  • p
    pc79
    现在关键问题是,缺少好用的图片管理软件
  • s
    songco
    我自己写了个Java的,自动按日期分类还有去重
  • u
    umount
    马克好贴
  • h
    hifto
    谢谢分享哈
  • p
    pjingbo126
    马克学习 iOS fly ~
  • s
    seandasd
    马克 iOS fly ~
  • j
    jwf21
    谢谢分享!
  • j
    jpcboy
    原来acdsee已经被你们淘汰了MOMO
  • 原芳
    马克下,nas上的太多了,回头试试 iOS fly ~
  • s
    socode
    有清理重复文件的软件啊…

    至于相似软件,这个应该算是无解吧紫薯布丁
  • y
    yhny
    是有很多,但是我比较极端,追求100%准确;
    比如连拍,可能软件会以为重复,但我这个办法绝对不会。
  • y
    yhny
    我也是整理NAS,希望能够解决你的问题。share
  • l
    lovemu
    都是电工
  • s
    socode
    回复42#yhny

    我觉得你高看了…紫薯布丁
  • 懒散的牛
    马克 iOS fly ~
  • e
    eiicne
    马克一下
  • d
    dali99
    这个马克了
  • c
    cccyer
    Duplicate Photo Finder 1.1.0.148
    这个坛子里推荐很多次了吧
    按照100%来匹配,
    删掉100多G
  • b
    bloodsucker
    留个名 不知道能整理重复视频不小尾巴~