Инструмент командной строки 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 (ссылка вверху этого поста) перечислены другие программы, которые можно использовать.