download.bg
 Вход Списание  Новини  Програми  Статии  Форум  Чат   Абонамент  Топ95   Архив 

Синхронизиране на папки с BAT файл

Автор
Съобщение
insecteater
Чет, 11.11.10, 15:07
Чудя се как да си напиша скрипт за BAT, чрез който да мога да правя копия на папки. Това нещо трябва да може да работи на Win 2k, XP и 7. Идеята е като прикача външния хард и като пусна Bat файла и да отида да ям тиквеник (напоследък ме влече към тиквите). Ако някой файл или папка не може да се копира да го прескача и да продължава напред.

Иска ми се да е bat файл, в който мога да задам в началото само пътищата - източници и местоназначения, които ще се архивират. Разни exe-та няма да ми свършат работа, понеже най вероятно конфигурационните файлове ще са отделно, а на мен ми трябва нещо преносимо, което съдържа в себе си настройките. Предполагам ще успея да го преработя да показва лог на проблемните некопирани файлове.

Тепърва почвам да ровя и да сглобявам, но ако някой ако има ценна идея или готов BAT код за нещо подобно, ще се радвам да сподели.

anonymous
Чет, 11.11.10, 17:39
insecteater
Пет, 12.11.10, 12:33
То първото дето се сетих беше за Xcopy, ама ако имаш да речем 50 гигабайта да ти ги копира всеки път - независимо дали същия файл го има на местоназначението или не - не ми се чака толкова.

Май ще ги въртя с цикъл и ще им сравнявам размера и датата

angelicstar
Пет, 12.11.10, 13:03
Ами не помня точно синтаксиса, ама в Xcopy май имаше нещо да се филтрират файловете по архивен атрибут и за установяване на атрибути. Може да копираш само файловете с качен атрибут и при самото копиране да се сваля.
Или това май го имаше при copy?
insecteater
Пет, 12.11.10, 13:13
И в xcopy го има. Никога не съм използвал архивния атрибут за реална работа - нещо му нямам доверие. Идеята е да мога да възстановя данни ако се наложи - да си поддържа нещо като огледално копие на въбшен хард например. Всъщност още не съм решил дали еда е точно огледално или да е с натрупване, но номера е че от източника трябва да проверява дали го има на местоназначението. Ако го няма или не е същото, само тогава да го копира, ако го има и е същото да не го копира
И така за всеки файл/папка

Xcopy не видях да има такова прескачне на копирането, ако файла е същия.

zlatena
Пет, 12.11.10, 18:43

RE: Синхронизиране на папки с BAT файл

” Всъщност още не съм решил дали еда е точно огледално или да е с натрупване, но номера е че от източника трябва да проверява дали го има на местоназначението. Ако го няма или не е същото, само тогава да го копира, ако го има и е същото да не го копира
И така за всеки файл/папка „

insecteater ти говориш за Линукс и за rsync
Шегувам се естествено,но доколкото те разбирам ти търсиш инкрементален или диференциален backup за файлове и папки.
http://itanalyses.blogspot.com/2008/07/blog-post_10.html
Ключови думи за google:
Bat incremental Backup duplicate folders
Incremental backup of data with .BAT (Batch)
http://www.linux-backup.net/Full_Inc/
http://www.itefix.no/i2/node/10650
http://cb.vu/unixtoolbox_bg.xhtml - тук има пример за cwrsync
http://www.linux-bg.org/forum/index.php?topic=35182.0
cwrsync - http://sourceforge.net/projects/sereds/files/
......................
Нямам идея как точно да стане под Win без програма,но мисля че трябва да търсиш в тази насока.

редактиран от zlatena на 12.11.10 18:47
phrozencrew
Пет, 12.11.10, 20:02

RE: Синхронизиране на папки с BAT файл

” То първото дето се сетих беше за Xcopy, ама ако имаш да речем 50 гигабайта да ти ги копира всеки път - независимо дали същия файл го има на местоназначението или не - не ми се чака толкова. „
Няма нужда да копираш съществуващи файлове.
Пример:
xcopy "C:\direktoria edno\*.*" "C:\direktoria dve" /d /e /y
anonymous
Съб, 13.11.10, 11:48
И аз търсех нещо подобно и го намерих, казва се SyncToy.
phrozencrew
Пон, 29.11.10, 18:53
Намерих и по-печен вариант от xcopy! Казва се robocopy!
Командата е налична по подразбиране в промпта на Windows 7:
robocopy C:\WalkerData G:\WalkerData /MIR /ZB /R:3 /V /FP /LOG:D:\sync.log /TEE

Цитат
” Where C:\WalkerData is the backup source and G:\WalkerData is the backup destination.

    * /MIR – MIRror a directory tree (equivalent to /E plus /PURGE). This option does exactly what I want to the backup plan to be.
       
    * /ZB – use restartable mode; if access denied use Backup mode. This option is not necessary, anyway. Restartable mode is useful for copying files over network (if the link drop). Backup mode is simply means allow files to be opened without security restrictions (Robocopy in Windows 7 is still not using Volume Shadow Copy or VSS service to copy open file). NOTE: you need elevated privilege to use backup mode option (or the combined /ZB option).
       
    * /R:3 is useful to restrict number of retries on failed copies to only 3, instead of the default 1 million :-)
       
    * /V option produces Verbose output, showing skipped files. It’s good to see how well Robocopy performs in Command Prompt window.
       
    * /FP option includes Full Pathname of files in the output.
       
    * /LOG: means to create or overwrite the specified log file of job done by Robocopy. To append, instead of overwrite, use /LOG+: option.
       
    * /TEE option means to show whatever log to the log file to the standard output as well (in this case, the standard output is Command Prompt window).

emonews
Вто, 30.11.10, 13:17
Я каква готина програмка имало тук
SyncToy

Коментар

за нас | за разработчици | за реклама | станете автори | in english  © 1998-2024   Experta Ltd.