求个批处理,对比两个文件夹下所有文件名,列出相异的文件.要包括子目录.多谢!!

时间:2022-09-24 12:27:07
不需要比对文件属性, 只需要文件名对比就行. 多谢!!

1 个解决方案

#1


@echo off & setlocal enabledelayedexpansion
echo 正在对比...&echo;
set "p1=d:\a\t est1"
set "p2=d:\a\t est2"
for /r "%p1%" %%a in (*) do (
  set FileExists=0
  for /r "%p2%" %%b in ("%%~nxa") do (
    fc /b "%%a" "%%~dpb%%~nxa" >nul 2>&1
    if !errorlevel!==1 (
      echo %%a
      echo %%~dpb%%~nxa
      echo;
      set FileExists=1
    ) else if !errorlevel!==0 (
      set FileExists=1
    )
  )
  if !FileExists!==0 (
    echo %%a 存在,
    echo 而在文件夹 %p2% 中找不到 %%~nxa。
    echo;
  )
)

echo 完成!
pause

#1


@echo off & setlocal enabledelayedexpansion
echo 正在对比...&echo;
set "p1=d:\a\t est1"
set "p2=d:\a\t est2"
for /r "%p1%" %%a in (*) do (
  set FileExists=0
  for /r "%p2%" %%b in ("%%~nxa") do (
    fc /b "%%a" "%%~dpb%%~nxa" >nul 2>&1
    if !errorlevel!==1 (
      echo %%a
      echo %%~dpb%%~nxa
      echo;
      set FileExists=1
    ) else if !errorlevel!==0 (
      set FileExists=1
    )
  )
  if !FileExists!==0 (
    echo %%a 存在,
    echo 而在文件夹 %p2% 中找不到 %%~nxa。
    echo;
  )
)

echo 完成!
pause