如何快速查找两个文件夹中不同的文件

我将一个相册文件夹分别在电脑里和移动硬盘里存了一遍。但是最近发现,应该是相同的两个文件夹里的照片数量却不一样多。我怎么才能快速查找多出来的照片。

那得看你弄了多少照片,你电脑速度怎么样,速度快的话,你就复制一下数量少的里头的照片,然后粘贴到多的那一个里头,全部替换,替换完了不要随便动鼠标点击,点的话就点文件夹控制上下的那个进度条或者小三角,你会看到相同的都被选中了,是深色的,没被选中的就是多出来的了;然后你把选中的这些剪贴到新建的文件夹里,剩下的就是多出来的,可以删除或者复制随便了
温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2017-09-13
@echo off
setlocal enabledelayedexpansion
dir /a-d /b r:\1\*>1.tmp
dir /a-d /b r:\2\*>2.tmp
echo 1比2多出的文件:
for /f %%i in ('type 1.tmp') do (
find "%%i" 2.tmp>nul
if !errorlevel! EQU 1 echo %%i
)
echo 2比1多出的文件:
for /f %%j in ('type 2.tmp') do (
find "%%j" 1.tmp>nul
if !errorlevel! EQU 1 echo %%j
)
@pause


将上面代码保存为bat文件运行。其中r:\1\和r:\2\替换为你要比较的两个文件夹的完整路径

运行后会输出两个文件夹中各自多出的那部分文件

追问

刚试了下 是可以的谢谢啊 但是没有现成的软件可以用吗 因为我两个相册大文件夹下面按照日期分了很多小相册文件夹 这个方法 我就要不停的改路径。。。。

追答@echo off
setlocal enabledelayedexpansion
dir /a-d /b /s r:\1\*>1.tmp
dir /a-d /b /s r:\2\*>2.tmp
echo 1比2多出的文件:
for /f %%i in ('type 1.tmp') do (
find "%%~nxi" 2.tmp>nul
if !errorlevel! EQU 1 echo %%i
)
echo 2比1多出的文件:
for /f %%j in ('type 2.tmp') do (
find "%%~nxj" 1.tmp>nul
if !errorlevel! EQU 1 echo %%j
)
@pause

给你修改了一下,会自动遍历1和2下的子目录

本回答被提问者采纳
第2个回答  2015-04-04
网上有专门清理重复软件的工具,可以查找了下载使用。
如果不想用这样的软件,并且只想从文件名字来比较的话,
可以这样,
用 dir/p/b c:\目录1> a.txt
dir/p/b c:\目录2> b.txt

然后比较一下a.txt和b.txt这两个文件就可以了。本回答被网友采纳
相似回答