Инструмент командной строки 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, где
D= Данные,
A= Атрибуты,
T= Метки времени файла ,
S= Безопасность = NTFS ACL,
O= Информация о владельце,
U= Информация аудита),
Если вы хотите сохранить только метки даты и времени каталога, но не хотите копировать пустые подкаталоги и не хотите сохранять другие атрибуты, вы можете использовать:
Robocopy C:\some_directory D:\some_directory /DCOPY:T /COPY:T /S
где /Sкопирует непустые подкаталоги
Чтобы увидеть полный синтаксис, введите robocopy /?в командной строке или посмотрите на следующие сообщения в блоге: https://ss64.com/nt/robocopy.html и
https://techjourney.net/robocopy-syntax-command-line -switches-и-примеры /
Пример команды, которую я недавно выполнил:
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
Обратите внимание, что исключение 2 подкаталогов требует, чтобы /XDфлаг использовался дважды. Кроме того, второе исключение каталога использует кавычки, потому что в имени каталога есть пробелы.
Наконец, вы можете добавить /Lфлаг для проверки команды, прежде чем делать это по-настоящему. Таким образом, вы можете убедиться, что он не будет копировать (или удалять) любые каталоги / файлы, которые вам не нужны, и что в вашей команде нет ошибок.
Редактировать: поймал при копировании из корневого каталога (он же диск) в папку (не корневой каталог)
После запуска приведенной выше команды, каталог не был виден! (Хотя в Windows 10 show hidden filesи show system filesбыли проверены!) Следующая команда в соответствии с 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
Другое программное обеспечение:
Кроме того, вы можете загрузить версию robocopy с графическим интерфейсом, если вы не хотите использовать командную строку.
Другая утилита для Windows - это XCopy , хотя она включена в Windows 10, но она устарела. Смотрите ссылку для получения.
На странице Википедии для RoboCopy (ссылка вверху этого поста) перечислены другие программы, которые можно использовать.