После использования robocopy для копирования файлов на новый диск я понял, что все времена создания файлов и каталогов были сброшены на время копирования.
Есть ли какие-то переключатели, чтобы robocopy сохранял исходное время файлов?
Взгляните на варианты /COPY:[copyflags]
и /DCOPY
переключатели.
В соответствии с ROBOCOPY /?
информация об использовании:
/COPY:copyflag[s] :: what to COPY for files (default is /COPY:DAT). (copyflags : D=Data, A=Attributes, T=Timestamps). (S=Security=NTFS ACLs, O=Owner info, U=aUditing info). /DCOPY:T :: COPY Directory Timestamps.
Например:
ROBOCOPY c:\src d:\dest /MIR /COPY:DT /DCOPY:T
Скопирует все файлы и папки и сохранит отметки даты и времени.
ROBOCOPY c:\src d:\dest /MIR /COPY:DAT /DCOPY:T
Скопирует все файлы и папки с сохранением даты и времени, а также атрибутов файлов.
Есть еще один (и я считаю, что он устарел?) Переключатель. /TIMFIX
который делает то же самое, что и /COPY:DT
но он не фиксирует отметки времени в папках.
Они были протестированы с ROBOCOPY 5.1.10.1027 в Windows 7 x64 Ultimate.
Имейте в виду, что /MIR
switch отражает каталог, из которого вы копируете; то есть, /MIR
также удалит файлы в целевой папке, которых нет в исходной папке. В /MIR
переключатель эквивалентен /E
и /PURGE
переключатели используются вместе (но с незначительное исключение).
Я использую это на работе. Безопаснее, чем использование переключателя / MIR, который может перезаписывать или удалять данные. Это скопирует временные метки для папок и файлов.
robocopy G:\users\username F:\Users\username /COPYALL /E /dcopy:T /SECFIX
/ E копирует пустые папки (удалите, если не требуется)
/ SECFIX копирует разрешения NTFS (удалите, если не требуется)
/ XO можно добавить, чтобы исключить более старые (например, если выполняется сверка для миграции папки)