1

У меня есть доступ к сетевому диску, где каждый день создаются папки новостей. Этот диск называется G:

Я хочу сделать резервную копию всех папок из G:\ в D:\ WebUpload

Учитывая, что файлов много, хотелось бы копировать только самые новые. Под самыми новыми я подразумеваю файлы, которые еще не были заархивированы из G: в D:

Я создал этот скрипт

robocopy  G:\ D:\WebUpload\ /E  /XO /R:3 /W:5 /XA:S /XF *.tmp *.bak /TEE /XD $RECYCLE.BIN "System Volume Information"

Но этот скрипт копирует весь контент каждый раз.

РЕДАКТИРОВАТЬ

Я отредактировал скрипт для добавления /FFT

robocopy  G:\ D:\WebUpload\ /E  /FFT /XO /R:3 /W:5 /XA:S  /TEE /XD $RECYCLE.BIN "System Volume Information"

REM Source to Dest
REM /E Subfolder
REM /XO Exclude old files
REM /R Retry x times
REM /W sec between each retry
REM /TEE Display in the command prompt
REM /XD Exclude [][]

Вы можете видеть, что папка с именем 20150304103_8 присутствует как в расположении G:\, так и в D:\WebUpload.

Но скрипт анализирует каждый файл в этой папке. Это занимает 1 секунду / файл, и у меня есть> 1000 файлов для нескольких папок ... Так что это слишком долго

1 ответ1

0

Скорее всего, вам нужно /FFT чтобы ослабить сравнение временных меток.

Редактировать - каждая файловая система хранит временные метки с определенной точностью. NTFS имеет точность 1/10 микросекунды как для созданных, так и для измененных временных меток. FAT имеет 10 мс и 2 секунды соответственно [1]. Поэтому, если вы копируете из NTFS в FAT, то временные метки округляются, и при следующем запуске они не будут совпадать при сравнении между src и dst, что приводит к повторному копированию файлов. Все, что делает /FFT , это то, что он заставляет robocopy использовать точность FAT при сравнении временных меток, делая его более слабым.

[1] https://msdn.microsoft.com/en-us/library/windows/desktop/ms724290%28v=vs.85%29.aspx

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