Robocopy инструмент командной строки (поставляется с большинством версий windows)
На моей машине windows 10 он расположен по адресу C:\Windows\System32
Из Википедия , он может быть использован со следующим набором опций для сохранения временных меток каталогов и, а также других атрибутов:
Robocopy C:\some_directory D:\some_directory /DCOPY:T /COPYALL /E /R:0
/DCOPY:T
сохраняют оригинальные Штампы времени каталогов (требуется версия XP026 или более поздняя)
/E
: Копируйте каталоги рекурсивно, включая пустые директории
/R:0
: не повторяйте заблокированные файлы (количество повторных попыток при неудачных копиях по умолчанию равно 1 миллиону),
/COPYALL
: Скопируйте всю информацию о файле,
(эквивалентно /COPY:DATSOU
, где
Если вы only хотите сохранить метки даты и времени каталога, но делаете not, чтобы скопировать пустые подкаталоги, и делаете not, чтобы сохранить другие атрибуты, то вы можете использовать:
Robocopy C:\some_directory D:\some_directory /DCOPY:T /COPY:T /S
где /S
копирует non-empty подкаталоги
Чтобы увидеть полный синтаксис, введите robocopy /?
в командную строку или посмотрите записи в блоге: https://ss64.com/nt/robocopy.html a https://techjourney.net/robocopy-syntax-command-line-switches-and-examples/
Пример команды, которую я недавно выполнил:
Robocopy D:\ C:\D_backup /DCOPY:T /COPYALL /E /R:0 /ZB /ETA /TEE /V /FP /XD D:\$RECYCLE.BIN /XD "D:\System Volume Information" /LOG:C:\D_backup_robocopy.LOG /MIR
Обратите внимание, что исключение двух подкаталогов требует использования флага /XD
дважды. Также, второе исключение директории использует кавычки, потому что в имени директории есть пробелы.
Наконец, вы можете добавить флаг /L
для проверки команды перед тем, как делать это по-настоящему. Таким образом, вы можете проверить, что он не будет копировать (или удалять) любые каталоги/файлы, которые вам не нужны, и что в вашей команде нет ошибок.
Edit: gotcha при копировании из корневой директории (aka drive) в папку (не корневой каталог)
После выполнения команды, приведенной в примере выше, каталог не был виден! (Несмотря на то, что show hidden files
и show system files
были проверены в Windows 10!) Следующая команда согласно https://serverfault.com/a/455029/399723 исправила это:
attrib -h -s C:\D_backup
Альтернативно, добавление /A-:SH
“удаляет скрытый атрибут из системных файлов”, таким образом, может предотвратить скрытие каталога в первую очередь, согласно https://serverfault.com/a/565804/399723 . См. также https://ss64.com/nt/robocopy.html .
Эта спуск проливает больше света на эту опцию как на решение.
Robocopy D:\ C:\D_backup /A-:SH /DCOPY:T /COPYALL /E /R:0 /ZB /ETA /TEE /V /FP /XD D:\$RECYCLE.BIN /XD "D:\System Volume Information" /LOG:C:\D_backup_robocopy.LOG /MIR
Другое ПО:
Или же вы можете загрузить GUI-версию робокопии , если не хотите использовать командную строку.
Другая утилита windows - XCopy , хотя и включена в windows 10, она устарела. Смотрите ссылку на getchas.
Страница Википедии для RoboCopy (ссылка вверху этой заметки) перечисляет другое программное обеспечение, которое может быть использовано.