Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Скриптовые языки администрирования Windows (http://forum.oszone.net/forumdisplay.php?f=102)
-   -   Резервное копирование фаилов вопрос (http://forum.oszone.net/showthread.php?t=206620)

deadiwe 11-05-2011 11:01 1674144

Резервное копирование фаилов вопрос
 
Пользуюсь сохранением данных по этому скриптику
читать дальше »
Set InDir="C:\test"

Set Double1="D:"


rem Set DT=%Date%
Set DT=%Date:~6,4%%Date:~3,2%%Date:~0,2%

Call :CopyDir %InDir% %Double1%


GoTo End


:CopyDir

Set Otkuda="%~1\*.*"

Set Kuda1=%~1
Set Kuda1="%~2\%DT%_%Kuda1:~3,1000%\"


xcopy %Otkuda% %Kuda1% /Y /S



:End

Нужно реализовать проверку фаилов на наличие изменений. если изменения есть, то копировать, нет просто не копировать.
То есть 2 директории с одинаковыми фаилами и папками .
копирую с диска ц на д
возможно такое что папки с фаилами уже будут существовать, тогда проверка, если фаил 1 = 1(сopy) то его пропускаем, если есть изменения по дате то перезаливаем. с учетом что фаил 1 дата(05.05.05) < меньше чем фаил 2(06.06.06) идет замена

amel27 11-05-2011 12:09 1674187

deadiwe, у команды XCOPY есть ключик /D
Код:

  /D:m-d-y    Копирует файлы, измененные либо в указанный день, либо после.
              Если дата не указана, копируются только те файлы,
              которые новее в исходной папке.


deadiwe 18-05-2011 12:22 1678407

вот такая проблемка


Set InDir="\\servak\f"

Set Double1="\\server\d"



Call :CopyDir %InDir% %Double1%


GoTo End


:CopyDir

Set Otkuda="%~1\*.*"

Set Kuda1=%~1
Set Kuda1=%~2


xcopy %Otkuda% %Kuda1% /Y /S



:End

как убрать перезатерание?
например фаил текс.txt уже существует на той и на другой машине и по размеру и дате они равны... но он все равно перезаливает его.
мне нужно, чтобы замена происходила если дата изменений старше

amel27 18-05-2011 13:42 1678460

Код:

xcopy /Q /Y /S /D "%Otkuda%" "%Kuda1%\"


Время: 16:03.

Время: 16:03.
© OSzone.net 2001-