3

Я хочу синхронизировать большой набор файлов (700 ГБ) между двумя компьютерами в двух разных местах (A и B). Компьютеры никак не связаны в сеть. Наборы файлов будут изначально синхронизированы в одном месте.

Затем я хочу иметь возможность работать с различными файлами в местоположении A и переносить суть изменений файловой системы (файлы добавляются, изменяются, удаляются, переименовываются или перемещаются) на маленькую USB-флешку объемом 8 или 16 ГБ. Затем подключите флэш-накопитель к компьютеру в месте B и примените эти изменения до начала дополнительной работы. Затем повторите тот же процесс в точке B обратно в точку A.

Очевидно, что система будет ограничена размером флешки, что в моем случае должно быть очень нечастым. Цель состоит в том, чтобы синхронизировать отключенные наборы файлов без необходимости переносить все 700 ГБ туда и обратно между расположениями или полагаться на сетевое соединение. Это компьютеры Windows. Есть идеи, как этого добиться?

5 ответов5

2

Это немного странная идея, но она сработает. Итак, я добавлю это: используйте систему контроля версий и экспортируйте патчи на USB. Это, вероятно, будет зависеть от того, сможет ли ваша VCS создавать достаточно эффективные двоичные патчи.

Кроме того, зачем использовать такую маленькую флешку? Можно купить внешние жесткие диски емкостью 750 ГБ и 1 ТБ. Это позволит вам синхронизировать весь набор данных.

1

Я относительно новичок во всем этом, но я попробую.

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

С моей мини-SD-карты, поскольку она находится в моем телефоне, я копирую файлы в обе стороны, но, поскольку я не хочу постоянно заполнять крошечную карту памяти, я написал в командный файл, чтобы синхронизировать файлы только после последней дата запуска файла. Это позволяет мне удалять файлы с обеих сторон, но по-прежнему использовать те же папки, что и источники и места назначения.

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


@echo off 
set /p Last_run_date=<"C:\Users\Owner\Desktop\Stuff I don't use\Shortcuts\Batch Files\lastrun.txt"
@echo.
@echo.
@echo.
@echo Last Update %Last_run_date%
@echo.
@echo Sync card to folder!
xcopy "F:\" "C:\Users\Owner\Desktop\Random\Phone Sync Folder" /s /y /h /r /e /c /i /d:%Last_run_date%


@echo.
@echo.
@echo.
@echo Sync folder to card!
echo     Videos
xcopy "C:\Users\Owner\Desktop\Random\Phone Sync Folder\Video" "F:\Video" /s /y /h /r /d:%Last_run_date% /e /c /i
echo     Audio
xcopy "C:\Users\Owner\Desktop\Random\Phone Sync Folder\Audio" "F:\Audio" /s /y /h /r /d:%Last_run_date% /e /c /i
echo     Pictures
xcopy "C:\Users\Owner\Desktop\Random\Phone Sync Folder\Picture" "F:\Picture" /s /y /h /r /d:%Last_run_date% /e /c /i
@echo.
@echo Update LastRun.txt
"C:\Users\Owner\Desktop\Stuff I don't use\Shortcuts\Batch Files\lastrun.bat - Shortcut.lnk"
@echo off 
set /p Last_run_date=<"C:\Users\Owner\Desktop\Stuff I don't use\Shortcuts\Batch Files\lastrun.txt"
echo.
echo Current Update %Last_run_date%

Вот lastrun.bat.


@echo off
set DD=%date:~7,2%
set MM=%date:~4,2%
set YY=%date:~10,4%
echo %MM%-%DD%-%YY%>"C:\Users\Owner\Desktop\Stuff I don't use\Shortcuts\Batch Files\lastrun.txt"

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


echo Empty Print Folder (F)
rmdir /s /q "F:\Stuff that needs printed"
mkdir "F:\Stuff that needs printed"
echo Sync to F Drive
xcopy "C:\Users\Owner\Desktop\Random\4GB Flashdrive" "F:" /s /y /h /r /d /e /c /i

Кроме того, небольшое примечание, если что-то из этого выглядит знакомым, некоторые части кода, которые я нашел через Google, а затем я перестроил в соответствии со своими потребностями.

0

Вы можете использовать что-то вроде:

  • format media_drive: /q

  • xcopy A_machine_data_path media_path /m /v /e /r /h

  • переместить диск на компьютер B и скопировать носитель на B_machine

  • формат медиа

  • скопировать B на носитель

  • скопировать носитель в A

note /m скопирует только измененные файлы и сбросит их A-атрибут, поэтому в первый раз вы должны использовать большие носители для передачи данных (в первый раз будет скопирован весь набор данных)

Вы можете использовать команды del, xdel для удаления медиа вместо форматирования

0

Создайте на USB-накопителе набор каталогов, которые соответствуют каталогам жесткого диска, которые нужно синхронизировать, затем используйте один из zillion бесплатных продуктов для синхронизации каталогов.

Мой фаворит - бесплатная программа SyncBack, которая для задания синхронизации имеет опцию «Игнорировать файл, который не был изменен / создан в течение последних [N] дней».

Установите N на несколько дней назад и создайте командный файл для очистки USB, как только он заполнится.

-1

У Microsoft есть довольно простая бесплатная программа Synctoy, которая будет поддерживать файлы и папки в актуальном состоянии, как вы уже описали.

Вы можете найти эту программу на сайте загрузок Microsoft и попробовать ее.

Я использую это совсем немного, чтобы сохранить свои папки с картинками

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