Как скопировать файлы с диска на диск с сохранением временных меток

Категория: Windows / Windows 10
Добавил: access_timeОпубликовано: 14-03-2021 visibilityПросмотров: 19 466 chat_bubble_outlineКомментариев: 10

Содержание:

Самый простой и очевидный способ узнать дату и время последнего доступа, создания и модификации файла —  это просмотреть их в свойствах этого файла. Все эти данные будут указаны на первой же вкладке «Общие», только вот считать их истинными у нас нет основания. Почему? Потому что всякий раз, когда мы копируем файлы в другое расположение, мы как-бы создаём их заново, в результате чего их временные метки меняются, точнее, всем скопированным файлам присваивается текущая дата создания, тогда как дата изменения остаётся прежней. А теперь представьте, что у вас на диске имеются некие файлы, которые вы хотите скопировать на другой диск или флешку, сохранив при этом дату создания.


Как скопировать файлы с диска на диск с сохранением временных меток

Если файл один или несколько, у вас есть немного времени, и вы ничего не имеете против китайского софта, можете воспользоваться Change Timestamp — бесплатной портативной утилитой для редактирования временных меток файлов и каталогов. Главное — записать или запомнить временные метки файлов, которые вы хотите копировать. Рассмотрим работу с утилитой на конкретном примере. У нас есть файл с датой и временем создания 24 февраля 2012 года 16.00.47. Первым делом копируем файл на другой диск. Естественно, его дата создания заменяется текущей.

Запускаем утилиту Change Timestamp, отмечаем флажком чекбокс «The file was Crеated», выставляем в полях «New Date» и «New Time» старую дату и время, а затем просто перетаскиваем скопированный файл на окошко программы. Временная метка будет установлена в соответствии с заданной. Аналогичным образом можно изменить дату модификации и дату последнего доступа, отметив флажком чекбоксы «Last Modified» и/или «Last Accessed for reading» соответственно. Кстати, программой Change Timestamp поддерживается рекурсивная обработка содержимого каталогов. 


Использование robocopy

Если файлов много и временные метки у них разные, Change Timestamp не подойдёт. Для таких случаев в Windows предусмотрен собственный консольный инструмент robocopy.exe, который умеет сохранять при копировании с диска на диск временные метки и прочие метаданные. Утилита robocopy.exe поддерживает множество параметров, но нам достаточно знать только четыре. Сама же команда копирования выглядит образом:

robocopy "папка, из которой копируется" "папка, в которую копируется" /E /MIR /COPYALL /DCOPY:T

Сформированную команду выполняем в командной строке или консоли PowerShell. В двойных кавычках указывается полный путь к каталогам, если в путях нет пробелов, кавычки можно опустить. В результате будут скопированы все файлы и каталоги из первой папки во вторую с сохранением даты и времени создания. Если кому интересно, за сохранение всех временных меток отвечает ключ /DCOPY:T, остальные ключи являются дополнительными, так, ключ /E включает рекурсию, /MIR отзеркаливает дерево папок, а /COPYALL сохраняет метаданные копируемых файлов.


tagsКлючевые слова
     Рекомендуем другие статьи по данной теме
Ctrl
Enter
Заметили ошибку
Выделите и нажмите Ctrl+Enter

Добавить комментарий

Комментарии (10)

  1. img
    15 сентября 2023 07:44 Гость Фома
    Гость

    В командной строке вводим команду robocopy /? и читаем в ее выводе:
    /COPYALL :: Копировать все сведения о файле (эквивалентно /COPY:DATSOU).
    /MIR :: Создать зеркало дерева папок (эквивалентно /E с /PURGE).
    /E :: Копировать вложенные папки, включая пустые.
    /PURGE :: Удалять файлы и папки назначения, которых больше не существует в источнике.
    /DCOPY:флаги копирования :: Что копировать для каталогов (по умолчанию /DCOPY:DA).
    (флаги копирования: D=данные, A=атрибуты, T=метки времени, E=расширенные атрибуты, X=пропускать альтернативные потоки данных).
    Если в robocopy, согласно справке, параметр /MIR эквивалентен /E с /PURGE, использовать с ним еще дополнительно и параметр /E совершенно не обязательно. Согласно параметра /PURGE (входящего в /MIR), если в папке источника I:\ЗАГРУЗКА\AVbr нет папки Рабочий стол, то почему бы команде robocopy при выполнении папку с таким же именем не удалить из папки назначения C:\Users\EVGEN вместе со всем ее содержимым. При этом, согласно назначению, в папке C:\Users\EVGEN надо создать папку Desktop и скопировать туда все из папки источника I:\ЗАГРУЗКА\AVbr, что программа и сделала.

    Содержимое папки "C:\Users\EVGEN\Recent" не показатель и, при наличии в других разделах такого же профиля пользователя EVGEN, содержимое этих папок на всех разделах в профиле пользователя EVGEN вполне вяжется с тем, что это и не папка - это Связь и связь именно на папку загруженного профиля текущего раздела загрузки системы. Реальное содержимое папок Recent на всех системах надо смотреть в "(буква раздела):\Users\EVGEN\AppData\Roaming\Microsoft\Windows\Recent". Если пробовать загружаться в профиль EVGEN с других разделов еще 4-х систем, то и содержимое папки "C:\Users\EVGEN\Recent" на всех системах будет меняться на содержимое папки "C:\Users\EVGEN\AppData\Roaming\Microsoft\Windows\Recent" из системы текущего раздела загрузки.

    Цитировать replyОтветить
  2. img
    14 сентября 2023 14:50 Гость евгений
    Гость
    admin,

    На I системы нет, но зато есть на других разделах ещё 4 системы и заметил, что ярлыки пропавшие и ярлык той папки, что мне нужна оказались в папке "C:\Users\EVGEN\Recent" при чём на всех системах, но самой папки найти не могу. Программу LocK-A-FoLdeR я запустил из папки куда установил, в ней отражается потерянная папка, но при разблокировке пишет, что невозможно, видимо потому что на рабочем столе её нет. Да, работаю под администратором.

    Цитировать replyОтветить
  3. img
    14 сентября 2023 12:23 admin
    Администратор

    У вас на ПК установлено две операционные системы? На I: тоже установлена система? Работаете под учётной записью администратора?

    Цитировать replyОтветить
  4. img
    14 сентября 2023 05:51 Гость евгений
    Гость

    Добрый день, вот решил попробовать переместить файлы с помощью robocopy.exe, ввёл в командной строке команду заменив пути robocopy I:\ЗАГРУЗКА\AVbr C:\Users\EVGEN\Desktop /E /MIR /COPYALL /DCOPY:T, то есть, файлы из папки AVbr из папки ЗАГРУЗКА на разделе I: на рабочий стол да файлы переместились, НО пропала папка Рабочий стол в моём пользователе, а вместо неё появилась Desktop и пропала часть ярлыков и файлов с рабочего стола! Конечно ничего страшного, но у меня там стояла программа LocK-A-FoLdeR и запароленная папка они тоже пропали и я не могу их найти ни в корзине ни программой по восстановлению удалённых файлов. Я конечно сначала думал, что может неправильно ввёл команду. Я восстановил папку рабочий стол, опять создал ярлыки и файлы на рабочем столе и повторил операцию по перемещению файлов и ситуация повторилась опять созданные ярлыки удалились и папка переименовалась, а те ярлыки что сохранились в первый раз были сохранены и во второй. Потом я ещё пробовал и всё то же самое получалось и у меня к вам такой вопрос. Может подскажете, где мне искать потерянную папку и ярлыки которые исчезают при этой команде? Если нужно я могу видео снять всего процесса или хотя бы может подскажете, что я делаю не так? 

    Цитировать replyОтветить
  5. img
    24 мая 2023 13:11 Гость Денис
    Гость

    Самый надёжный и удобный способ — сохранять дату в названии файла по типу ГГГГММДД_ЧЧММСС: "20230524_160855.jpg" или "20230524 Мемуары.txt". При сортировке таких файлов по названию, они, кстати, будут сортироваться по дате, что часто важнее имени.

    Цитировать replyОтветить
  6. img
    15 мая 2023 23:09 Гость Трофим
    Гость
    Цитата: Fritz
    Трофим,

    в FAR нет такой функции

    Fritz, если у кого-то в FAR нет такой функции, это проблема того самого персонажа у которого ее нет. Только что проверил, скопировав папку с 42-мя поддпапками с общим числом файлов 418 штук по отчету FAR. При включеной крестиком [x] функции Сохранять все метки времени все содержимое папки было скопировано на другой диск с полным соответствием временных меток последней записи, создания, изменения и даже последнего доступа у папок. Вот время последнего доступа при использовании команды robocopy из статьи у папок поменялось на текущее время при выполнении операции.

    Цитировать replyОтветить
  7. img
    15 мая 2023 19:28 Гость Николай
    Гость

    Крайне долгий способ, у меня данных на 1 тб, вероятно будет копировать день, не меньше

    Цитировать replyОтветить
  8. img
    14 марта 2023 21:40 Никита
    Гость

    Удалось все сделать через команду robocopy. Стоит отметить что командную строку нужно запускать от имени администратора! Автору большое спасибо за статью! Нужно было записать для суда флешку с корректными метаданными, вы мне очень в этом помогли.

    Цитировать replyОтветить
  9. img
    4 января 2023 18:04 Fritz
    Гость
    Трофим,

    в FAR нет такой функции

    Цитировать replyОтветить
  10. img
    14 марта 2021 21:55 Трофим
    Гость
    Far Manager - выделяем нужное к копированию - F5 - Сохранять метки времени - Копировать (или Enter). Кстати, Far Manager тоже устанавливать не обязательно, он и портабельно вполне себе работает с локальных, внешних дисков, из WinPE.
    Цитировать replyОтветить