@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下的子目录
本回答被提问者采纳