你的没有判断条件.
@echo off
dir d:\log1 /ad /b >>1.txt
dir d:\log2 /ad /b >>2.txt
for /f "delims=" %%i in (1.txt) do (
echo %%i
findstr /i %%i 2.txt
if errorlevel==1 xcopy d:\log1\%%i d:\log2
)
del 1.txt
del 2.txt
@echo off
cls
dir /a /b d:\log1>>1.txt
dir /a /b d:\log2>>2.txt
for /f "tokens=*" %%i in (1.txt) do (
findstr /i "%%i" d:\2.txt
if errorlevel 1 xcopy d:\log1\"%%i" d:\log2&echo 拷贝成功&goto :eof
)
del 1.txt;2.txt
echo log1中不存在log2中没有的文件
pause 1>nul
@echo off
cls
dir /a /b d:\log1>>1.txt
dir /a /b d:\log2>>2.txt
for /f "tokens=*" %%i in (1.txt) do (
findstr /i "%%i" d:\2.txt
if errorlevel 1 xcopy /s /e d:\log1\"%%i" d:\log2&echo 拷贝成功
)
del 1.txt;2.txt
pause 1>nul&goto :eof