В спешке отвечал на Ваше PM на автопилоте (задачу уже не помнил) Попробуйте, тестировал, работает
Код:
@echo off
Set TmpFtp=D:\Tmp
Set TmpArc=D:\TmpArc
Set TmpErr=D:\TmpErr
Set TmpIn=D:\TmpIn
FOR %%f IN (%TmpFtp%\*.*) DO Call :CompMove "%%f" "%TmpArc%\%%~nxf"
GoTo :Eof
:CompMove
Set L=1
If Not Exist %2 Set L=0
If %L% EQU 1 If Not %~z1==%~z2 Set L=0
If %L% EQU 0 (
If Not Exist %TmpErr% Md %TmpErr%
Move /Y %1 %TmpErr% >nul
GoTo :Eof
)
fc /B %1 %2 >nul
If %ErrorLevel%==0 (
Move /Y %1 "%TmpIn%\" >nul
) Else (
Move /Y %1 "%TmpErr%\" >nul
)