У меня есть специальный экземпляр (возможно, Robocopy):

Я имею:

  • Исходный каталог (с подкаталогами)
  • Целевой каталог (с подкаталогами)

Обе структуры каталогов почти одинаковы. Но в целевом каталоге есть несколько новых или дополнительных файлов. Я должен скопировать файлы из исходного в целевой каталог, которые не являются новыми (или добавлены) в целевой каталог.

Пример:

Файл example.doc существует в исходном и целевом каталоге. Но файл в целевом каталоге имеет более новую временную метку (кто-то работал с этим файлом), и я не хочу перезаписывать этот файл.

Файл example2.doc существует в исходном и целевом каталоге. Оба файла имеют одинаковую метку времени. В этом случае я хочу перезаписать файл в каталоге tartet файлом из исходного каталога.

Может быть, Robocopy - это инструмент для этого случая ... Я прочитал все параметры (и их много :), но я не нашел решения.

Кстати: это мой первый пост на stackoverflow :-)

Большое спасибо.

Гернот

2 ответа2

0

Файл example2.doc существует в исходном и целевом каталоге. Оба файла имеют одинаковую метку времени. В этом случае я хочу перезаписать файл в каталоге tartet файлом из исходного каталога.

Соответствующий переключатель командной строки для этого:

/IS      Include Same files.

Примечание. Использование одного ключа /IS без других ключей вызывает полное обновление дерева назначения.

Для получения дополнительной информации о параметрах Robocopy см. Этот пост, который я написал о Robocopy: https://superuser.com/a/566054/144147, который включает внешние ссылки на дополнительную документацию.

0

Вы можете использовать команду rsync с переключателем резервного копирования, -b , чтобы пропустить новые файлы на переключателе получателя, -u , как в следующей последовательности, где первый rsync перезаписывает файлы, а второй отказывается перезаписывать более новый файл на получатель, а третий rsync копирует более новый файл отправителя получателю, сохраняя файл, который был изменен на получателе как xv ~, перед тем как перезаписать его отправителем xv. Расположение файла, который перемещается в сторону, можно контролировать и помещать в другое место с помощью параметра --backup-dir = DIR.

Конечно, вы можете так же легко выполнить всю эту синхронизацию в одной и той же файловой системе.

(Привет! Вот как Carbon Copy Cloner делает большую часть своего волшебства! И они берут 40 долларов за услугу ... Увы, я отвлекся ...)

whmcclos@Williams-MacBook-Pro:~$ rsync -auvb ~/bin whmcclos@localhost:/tmp
building file list ... done
bin/
bin/days
bin/hide
bin/jedit
bin/mlf
bin/most_recent_file -> most_recent_file.pl
bin/most_recent_file.pl
bin/mplayer
bin/mvim
bin/qvim
bin/sys_config
bin/sys_config.log
bin/tree
bin/try
bin/unhide
bin/xv
bin/zed -> zed.pl
bin/zed.pl

sent 18887050 bytes  received 390 bytes  37774880.00 bytes/sec
total size is 18883599  speedup is 1.00
whmcclos@Williams-MacBook-Pro:~$ touch /tmp/bin/xv
whmcclos@Williams-MacBook-Pro:~$ rsync -auvb ~/bin whmcclos@localhost:/tmp
building file list ... done

sent 422 bytes  received 20 bytes  294.67 bytes/sec
total size is 18883599  speedup is 42723.07
whmcclos@Williams-MacBook-Pro:~$ touch /tmp/bin/xv
whmcclos@Williams-MacBook-Pro:~$ touch ~/bin/xv
whmcclos@Williams-MacBook-Pro:~$ rsync -auvb ~/bin whmcclos@localhost:/tmp
building file list ... done
bin/xv

sent 7392 bytes  received 10434 bytes  35652.00 bytes/sec
total size is 18883599  speedup is 1059.33
whmcclos@Williams-MacBook-Pro:~$ ls /tmp/bin/xv*
/tmp/bin/xv  /tmp/bin/xv~

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .