====== Синхронизация каталогов с сервером ====== Есть програмка robocopy. {{:coding:scripts:robocopy.zip|}} Позволяет с регулируемой нагрузкой на сеть копировать данные. Если нужно - умеет "удалять лишнее". Может копировать только изменения и докачивать в случае обрыва. Если нужно часть оставить нетронутой - она тоже это умеет. Умеет работать "по предварительному плану в отдельном файле" - заданию. Пришлось готовиться к синхронизации с маленькой особенности - 1 каталог с кирилическим именем трогать нельзя. @echo off c: cd c:\temp rem Проверка, есть-ли уже у нас сам "робокопи" в системе if not exist "C:\WINDOWS\system32\robocopy.exe" xcopy /E /Q /R /Y "\\Server\Distribution\robocopy\robocopy.exe" "C:\WINDOWS\system32\robocopy.exe" echo %computername% if not exist d:\DistribCompany goto localdirsynk goto landirsynk :localdirsynk echo Local Distrib once sync mkdir d:\DistribCompany if %errorlevel%==1 goto dir_error rem xcopy /E /Q /R /Y "d:\Distribution\" "d:\DistribCompany" :landirsynk rem pause echo Lan Distrib sync rem robocopy.exe "\\Server\Distribution\Start" "d:\DistribCompany" /LOG:c:\temp\%computername%.log /TEE /NP /MIR /R:10 /W:30 /Z /IPG:2050 /XD "\\Server\Distribution\Start\Џ®¤ЇЁбЁ" rem вариант с отражением процесса копирования (проценты на каждый файл) rem robocopy.exe "\\Server\Distribution\Start" "D:\Distribution" /LOG:disk_d.log /TEE /MIR /R:10 /W:30 /Z /IPG:2050 /XD "\\Server\Distribution\Start\Џ®¤ЇЁбЁ\" echo copy logs to server xcopy /E /Q /R /Y "c:\temp\%computername%.log" "\\Server\Distribution\Logs" goto complete :dir_error echo Disk error. echo %computername% > c:\temp\%computername%_error.log echo. >> c:\temp\%computername%_error.log echo. >> c:\temp\%computername%_error.log echo. >> c:\temp\%computername%_error.log ipconfig >> c:\temp\%computername%_error.log xcopy /E /Q /R /Y "c:\temp\%computername%_error.log" "\\Server\Distribution\Logs" Если нужно просто засинхронизировать 1 или несколько каталогов, то как вариант из найденных примеров: Мне он не подошел - внутрь "задания" не удалось передать кирилическое имя каталога. Что-бы по нему потом отработать\пропустить. @echo off rem Зеркалирование файловых ресурсов утилитой robocopy (11.08.2009) rem http://zheleznov.info/backup_mirror.htm rem запустить настроенные задания (*.rcj), можно несколько подряд rem robocopy.exe /job:disk_d robocopy.exe /job:Distribution.rcj rem robocopy.exe /job:disk_e rem ждать нажатия клавиши echo. echo. echo. rem pause :: Зеркалирование файловых ресурсов утилитой robocopy (11.08.2009) :: http://zheleznov.info/backup_mirror.htm :: Файл настроек задания программы Robocopy :: Задание: создать зеркало диска D: в подкаталоге D текущего каталога :: Копируемый каталог /SD:D: :: Каталог назначения, указан относительный путь /DD:.\D :: Перечень каталогов, которые НЕ надо копировать :: Внимание! Исключенные из копирования подкаталоги не удаляются :: из каталога назначения, если они уже там есть /XD D:\RECYCLER D:\System Volume Information D:\Temp :: Запись в файл журнала /LOG:disk_d.log /TEE :: также выводить сообщения в консоль /NP :: не показывать прогресс (%) для каждого файла :: Опции копирования /MIR :: Создать зеркало (MIRror) :: Повтор копирования в случае ошибок /R:10 :: количество повторов /W:30 :: время ожидания перед повтором в секундах