setlocal
:: что сравнивать будет
set D1=c:\temp
set D2=c:\tmp
:: тут будут уникальные имена записаны
set D1NEW=new1.txt
set D2NEW=new2.txt
set TF=%TEMP%\tmpfile%RANDOM%.txt
del /q %D1NEW%
del /q %D2NEW%
del /q %TF%
for /f "tokens=*" %%I in ('dir /b %D2%') do (echo %%~nI)>>%TF%
for /f "tokens=*" %%I in ('dir /b %D1%') do (
findstr /R /I /C:"^%%~nI$" %TF%
if errorlevel 1 (
(echo %%~nI)>>%D1NEW%
)
)
del /q %TF%
for /f "tokens=*" %%I in ('dir /b %D1%') do (echo %%~nI)>>%TF%
for /f "tokens=*" %%I in ('dir /b %D2%') do (
findstr /R /I /C:"^%%~nI$" %TF%
if errorlevel 1 (
(echo %%~nI)>>%D2NEW%
)
)
del /q %TF%
Leave a comment