Board logo

标题: [其他] 【已解决】批处理如何查找出同一文件夹下面相同/重复的图片文件? [打印本页]

作者: dragon631    时间: 2015-6-1 12:57     标题: 【已解决】批处理如何查找出同一文件夹下面相同/重复的图片文件?

本帖最后由 pcl_test 于 2016-12-25 13:55 编辑

有时候同一文件夹下面可能存在重复的图片,可能是两张也可能是多张,这些图片大小及尺寸是一致的,只是图片名变化了下。
怎么将重复的图片标识出来,比如:标明“XXX与XXX重复”并将这个结果发送至TXT文档中,便于后面酌情选择保留其中的哪一张?
作者: pcl_test    时间: 2015-6-1 15:04

本帖最后由 pcl_test 于 2015-6-2 00:01 编辑

先下载第三方工具http://batch-cn.qiniudn.com/tool/md5.exe, 用以获取文件hash值来判断文件的重复与否
  1. @echo off
  2. setlocal enabledelayedexpansion
  3. for %%a in (*.jpg) do (
  4. for /f "tokens=1*" %%b in ('md5 "%%a"') do (
  5. if not defined #%%b# (set "#%%b#=[%%c],") else (set "#%%b#=!#%%b#![%%c],")
  6. )
  7. )
  8. (for /f "tokens=1,2* delims==," %%i in ('set #') do (
  9. set "str=%%j,%%k"
  10. set "t=%%k"
  11. if defined t echo;!str:~,-1! 同
  12. ))>"重复图片列表.txt"
  13. pause
复制代码

作者: dragon631    时间: 2015-6-1 20:40

回复 2# pcl_test

此代码使用效果甚佳,谢谢朋友的解答!
作者: terse    时间: 2015-6-2 01:05

WIN7的话 系统带有powershell 可以
作者: dragon631    时间: 2015-6-3 05:13

本帖最后由 dragon631 于 2015-6-3 13:56 编辑
回复 2# pcl_test

此代码得到的结果为:图片名+空格+尺寸(自然风光 2560x1600)
如果想要得到的结果是:图片名+_+尺寸+扩展名(自然风光_2560x1600.jpg),代码该如何变动?
另外,这个代码好像只对jpg格式图片有效,如果想将jpeg、png格式的图片也囊括在内,代码又该如何变动?


PS:这个提问答本该发在这个帖子里面的:http://www.bathome.net/viewthread.php?tid=35923,都是同时开了几个论坛的窗口惹出来的祸!
作者: pcl_test    时间: 2015-6-3 06:41

本帖最后由 pcl_test 于 2015-6-3 06:55 编辑

回复 5# dragon631

有新问题就另外发帖,不要结贴了又再改动,另外以后顶楼提出问题时,一次性把问题说明白,勿挤牙膏,没完没了,没有人有义务帮你,所以请关照下回答问题的人的感受,不要不知适可而止地掠取别人的善意
  1. for %%a in (*.jpg *.jpeg *.png *.bmp *.gif) do
复制代码

作者: dragon631    时间: 2015-6-3 11:53

回复 6# pcl_test

最近,才把心思放在这上面,所以,懂得不是太多!
一个问题刚开始也不可能考虑得很完善,只能随着认识的提高,对于问题才逐渐有越趋完善的把控!所以,问题就一个接一个的来!
自己也尝试百度找到恰当的方法,可是,很多时候,花费了很长时间,也许才找到解决的办法。而这样的答案,对于老手来说,可能就是举手之劳。所以,只能走一边发帖询问,一边自己百度去学习以求能找到解决的办法,就看那个快一点了。
当然,这样一再的问问题,让解答的人会心烦,我也很理解这种心情。说实话,自己提问的时候,也有过退缩,觉得有点过意不去的。但是,因为知道的少,而这些东西眼下刚好正用得着,只好厚着脸皮继续提问了。

要是不急着用,自己也会慢慢花心思去钻研的,而不会这么一再打破砂锅问到底的!
以后,应该不会有这种情况了,往后会带着问题,先自己百度钻研一段时间,力求自行找到解决办法,确实不行的话,再发帖求问!
当然,能不断问问题,举一反三,这不算坏事,能想到问题,再解决问题,知识面慢慢就宽了,才会有进步,我很多不擅长的领域就是通过这种方法由新手成为还算凑和的程度。

当然,对于热心解答的朋友们,一直是心怀感激的,因为自己混迹网络也有很多年了,有过新手的摸索挣扎期,也有过老手的志得意满时,自己也是个乐于跟大家分享的人,在自己擅长的领域也帮过不少人。有时候,老手一个不经意的回复,对于新手来说,可能有醍醐灌顶的效果!

这几天提的几个问题,“pcl_test”朋友出了很多力,心里很是感激。网络中,需要更多这样的热心的朋友!勤于助人,乐于分享!
作者: dragon631    时间: 2015-6-3 12:14

而且悲剧的是,5楼提的问答本该发在这个帖子里面的:http://www.bathome.net/viewthread.php?tid=35923

都是同时开了几个论坛的窗口惹出来的祸!
作者: pcl_test    时间: 2015-6-3 12:54

回复 8# dragon631

已在原帖更改




欢迎光临 批处理之家 (http://bathome.net./) Powered by Discuz! 7.2