![]() |
Перенос атрибутов файлов - дата создания, изменения.
Доброе время суток. Есть очень большое количество файлов, которые нужно скопировать из 1 расположения в другое. Файлы скопированы, но есть проблема: в новом расположении дата изменения файлов стала временем их копирования. Нужно же чтобы в новом расположении дата изменения файлов была такой же, как в старом расположении.
Пробовал программы типа Far, SetFileDate, FileDataChanger - но там можно только устанавливать определенную дату. Мне же нужно перенести атрибуты дат создания, изменения файлов, причем, желательно эти атрибуты в какой-нибудь файл сохранить в старом расположении, а в новом из этого файла к перенесенным файлам применить (т.к. переносить атрибуты "на лету" может быть затруднено тем, что расположения разделены медленным интернет-каналом). - Как это можно сделать? Есть варианты? Вариант "скопировать файлы опять" не подойдет - т.к. расположения разделены между собой не очень быстрым интернет-каналом, и запаса времени нет чтобы ждать еще 1 процедуру переноса. |
Цитата:
Дата изменения обычно сохраняется, что бы и куда не копировалось. Меняются только даты создания и последнего доступа. P. S. Эксперимент показал, что команда robocopy сохраняет все даты. |
Цитата:
|
Цитата:
Цитата:
|
Petya V4sechkin, да, robocopy может переносить атрибуты "на лету", но у меня не получилось сохранить их куда-нибудь, а затем восстановить. Делал командой:
1. robocopy d:\source\ e:\attributes\ /copy:t /e 2. переносил папку созданную на шаге 1 на удаленный ресурс 3. robocopy e:\attributes\ d:\target /copy:t /e - Временные метки файлов не изменились. |
__sa__nya, robocopy сохраняет даты непосредственно при копировании.
|
Вложений: 1
Цитата:
Мне не нравилось, что в папке \i386 все архивы типа notepad.ex_ были от одной даты 14 апреля 2008 года, хотя если зайти в этот архив, было видна реальная дата файла. Я нашел утилитку FileTouch.exe ( аналог Touch из юникса), распаковал все файлы из дистрибутивных архивов *.??_ в папку d:\!\ , и написал простенький скрипт, который 1 переходит в d:\!\ 2 для всех файлов из этой папки поочередно читает атрибуты и дату этого файла установить его архиву с _ в конце расширения в папке d:\XP2008\I386\ Для вашей задачи нужно переделать скрипт по части используемых папок и убрать изменение расширения в целевом файле (вместо .txt > .tx_ ) |
Ну вот прошло уже столько лет, а проблема осталась. Копирую большой массив файлов по сети обычным проводником. С сервера2019 на машину с Windows10. Если это имеет значение, то целевая шара, куда все копируется "админская", т.е. доступ туда через "$".
В процессе копирования создаются папки с правильной датой, такой же как у исходной папки. Но по завершению копирования эта дата меняется на текущую. У файлов остаются правильные даты, а на папках - время когда они копировались. Это конечно не совсем красиво, если папка называется 2017 год, а дата создания конец 19-го, а рядом папка 18 года и дата создания на несколько минут позже первой. Сразу заметно, что с этими папками что-то "мутили". Мне это не понравилось, все удалил и стал запаковывать папки в архивы и их копировать. Хотя теперь не уверен, что при распаковке архива уже на целевой машине не повторится такой же номер. Почему такое происходит. Что это косяк, баг, фича? Вроде напутать и сделать что-то не то, здесь даже негде. Обычное копирование. |
scorpy490, разве кто-то обещал сохранение дат создания при копировании Проводником?
|
Цитата:
|
Цитата:
|
Хорошо с такой задачей справляется бесплатная программа FastCopy. Выбираете папку для копирования и папку, или диск куда копировать, нажимаете "Execute" всё сохраняется с исходными атрибутами и исходной структурой.
|
Время: 05:18. |
Время: 05:18.
© OSzone.net 2001-