Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  

Показать сообщение отдельно

Ветеран


Contributor


Сообщения: 2726
Благодарности: 1696

Профиль | Отправить PM | Цитировать


В спешке отвечал на Ваше 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
	)

-------
Даже самая сложная проблема обязательно имеет простое, лёгкое для понимания, неправильное решение. Каждое решение плодит новые проблемы.

Это сообщение посчитали полезным следующие участники:

Отправлено: 16:41, 06-03-2013 | #29