Утилита командной строки rsync
делает то, что вы просите.
Предполагая, что ваши старые данные находятся в местоположении A, а ваши новые данные находятся в B, сделайте следующее:
rsync -ahPruvz --hard-links A B
Цитирование из руководства rsync:
Это говорит rsync искать жестко связанные файлы в источнике и связывать вместе соответствующие файлы в месте назначения.
Как получить rsync
и использовать его? Есть 2 простых альтернативы для Windows:
Первый вариант: используйте cygwin
. Это программное обеспечение для Windows. Установите его и на шаге выбора пакетов добавьте пакет rsync
. Оставьте все остальное по умолчанию. После того, как вы установите его, используйте его оболочку для ввода команды. Если вы хотите, вы можете использовать полный путь, /usr/bin/rsync
вместо просто rsync
. Если вы хотите получить доступ к дискам Windows, используйте пути типа "/cygwin/drive" и всегда пытайтесь выполнить автозаполнение с помощью TAB.
Второй вариант: если это настольный компьютер, используйте живой дистрибутив GNU/Linux. Подготовьте живой образ USB, загрузитесь с него, смонтируйте нужные диски и запустите rsync. Если у живого образа нет rsync
, установите его. (apt-get install rsync
в Debian и его производных.) Я просто использую Linux последние 5 лет, извините, это первая альтернатива, которая мне приходит в голову. Для любого, кто разбирается в Windows, Cygwin должен быть проще.