1

У меня есть большая коллекция фотографий. Я только хочу синхронизировать последнюю (в моем случае прямо сейчас 1 год) с ноутбуком.

Я пробовал syncovery и Goodsync, не видя никаких модификаторов, которые бы выбирали только новые / последние файлы. У меня есть электронные письма, ожидающие синхронизации, потому что кто-то думал, что это возможно, но я не видел выбора.

Другой читатель предложил команду Robocopy. Читая модификаторы, я не смог найти точный способ отфильтровать только новые файлы И удалить все старые файлы из целевого каталога. (Если я скопирую это, я хотел бы удалить это после 1 года. Пока еще копирование новых файлов закончилось).

Спасибо за любую помощь

3 ответа3

1

Позвольте мне подвести итог, что я думаю, что вы хотите (для ясности):

  • Вы хотите скопировать из фото-каталога только новые файлы, не старше 365 дней, на ноутбук.
  • На этом ноутбуке вы хотите удалить файлы (из этого каталога) старше 365 дней.

С robocopy вы можете сделать это в несколько строк. (Я не думаю, что есть способ сделать это «в одну строку».)

@echo off

:: set your directories
set photo_collection=\\server\data\photos
set laptop_photos=\\laptop\data\photos

:: this is a temporary delete directory where robocopy move older files.
set robo_delete=%temp%\~robodel

:: this will move photos older than 365 to a "delete"-directory
:: /CREATE files are NOT actually copied but created as 0-files, this is faster
robocopy "%laptop_photos%" "%robo_delete%" /e /MOVE /CREATE /MINAGE:365

:: this temporary directory is deleted
rmdir "%robo_delete%" /s /q

:: this will copy only newer photos, never older than 365 days, to the laptop
robocopy "%photo_collection%" "%laptop_photos%" /MIR /MAXAGE:365

Заметки:

  • Строки :: являются просто комментариями и могут быть удалены.

  • Я использовал \\\server\data и \\laptop\data чтобы показать, что вы можете использовать UNC-пути. Конечно, вы можете просто использовать C:\source_of_photos и D:\laptop_directory или что-то еще.

  • Каталог ноутбука всегда является резервной копией файлов (фотографий) новее 365 дней. Если что-то идет не так, у вас всегда есть оригиналы в \\server\data\photos . Не удаляйте фотографии из оригинального каталога, потому что тогда они исчезнут навсегда.

  • Старые файлы временно перемещаются в %temp%\~robodel . С /CREATE они фактически не перемещаются, но для него создается 0-файл. Это намного быстрее.

1

Я попробовал следующее, и это работает, но, пожалуйста, сделайте резервные копии, прежде чем попробовать это. Я сделал.

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

Скачайте программу под названием Syncback, лучшую на мой взгляд.

Тебе придется создать 2 профиля зеркал.

Профиль № 1 - Основной профиль:

1 - Создать new profile

2 - Выберите Mirror

3 - Выберите Source and destination

4 - Нажмите на Expert в левой части экрана

5 - Перейдите, чтобы Compare Options / Date & Time

6 - Установите: Игнорировать файлы, have NOT были изменены within the last 365 дней.

Или измените соответственно тому, что вам нужно.

Вот именно для этого профиля

Профиль № 2 - Очистить профиль

Это фиктивный профиль, созданный только для удаления старых файлов из места назначения.

1 - Создать new profile

2 - Выберите mirror

3 - В качестве source выберите папку, которая всегда будет пустой. Вы можете создать папку в любом месте на вашем диске, просто убедитесь, что она никогда не будет затронута, и она всегда будет пустой.

4 - Папка destination будет такой же, как основной профиль

5 - Нажмите на Expert в левой части экрана

6 - Перейдите, чтобы Compare Options / Date & Time

7 - Установить: Игнорировать файлы, have been изменены within the last 365 дней.

Или измените соответственно тому, что вам нужно.

Обратите внимание, 1st профиль не был, 2nd профиль был.

Вы можете использовать программное обеспечение для запуска обоих профилей как группы, запуска обоих вручную или планирования их обоих. Убедитесь, что сначала запускается профиль # 1, и достаточно времени, чтобы скопировать все.

Это все.

Это кажется сложным, но это очень просто. Вот теперь я понял, как это сделать.

Наслаждаться.

0

Вы можете попробовать rsync с флагом --ignore-существующие. Мы предоставляем версию для Windows cwRsync. Доступна бесплатная версия.

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