Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Хочу все знать (http://forum.oszone.net/forumdisplay.php?f=23)
-   -   Перенос атрибутов файлов - дата создания, изменения. (http://forum.oszone.net/showthread.php?t=298971)

__sa__nya 26-04-2015 08:40 2500811

Перенос атрибутов файлов - дата создания, изменения.
 
Доброе время суток. Есть очень большое количество файлов, которые нужно скопировать из 1 расположения в другое. Файлы скопированы, но есть проблема: в новом расположении дата изменения файлов стала временем их копирования. Нужно же чтобы в новом расположении дата изменения файлов была такой же, как в старом расположении.
Пробовал программы типа Far, SetFileDate, FileDataChanger - но там можно только устанавливать определенную дату.
Мне же нужно перенести атрибуты дат создания, изменения файлов, причем, желательно эти атрибуты в какой-нибудь файл сохранить в старом расположении, а в новом из этого файла к перенесенным файлам применить (т.к. переносить атрибуты "на лету" может быть затруднено тем, что расположения разделены медленным интернет-каналом). - Как это можно сделать? Есть варианты? Вариант "скопировать файлы опять" не подойдет - т.к. расположения разделены между собой не очень быстрым интернет-каналом, и запаса времени нет чтобы ждать еще 1 процедуру переноса.

Petya V4sechkin 26-04-2015 09:44 2500822

Цитата:

Цитата __sa__nya
в новом расположении дата изменения файлов стала временем их копирования

Странно, как это получилось?
Дата изменения обычно сохраняется, что бы и куда не копировалось. Меняются только даты создания и последнего доступа.

P. S. Эксперимент показал, что команда robocopy сохраняет все даты.

Iska 26-04-2015 10:06 2500827

Цитата:

Цитата __sa__nya
Пробовал программы типа Far, »

Не подтверждаю. При копировании файлов в новом расположении отлично только время последнего доступа.

__sa__nya 26-04-2015 12:27 2500865

Цитата:

Цитата Petya V4sechkin
Странно, как это получилось?
Дата изменения обычно сохраняется, что бы и куда не копировалось. Меняются только даты создания и последнего доступа. »

Petya V4sechkin, копирование велось на FTP-сервер клиентом FilezillaFTPClient. Даты создания/изменения у файлов стали на момент копирования.
Цитата:

Цитата Iska
Не подтверждаю. При копировании файлов в новом расположении отлично только время последнего доступа. »

Iska, Я имел ввиду что у Far'a нет возможности не копировать файлы с сохранением атрибутов, а копировать атрибуты между файлами.

__sa__nya 26-04-2015 13:33 2500904

Petya V4sechkin, да, robocopy может переносить атрибуты "на лету", но у меня не получилось сохранить их куда-нибудь, а затем восстановить. Делал командой:
1. robocopy d:\source\ e:\attributes\ /copy:t /e
2. переносил папку созданную на шаге 1 на удаленный ресурс
3. robocopy e:\attributes\ d:\target /copy:t /e
- Временные метки файлов не изменились.

Petya V4sechkin 26-04-2015 13:48 2500917

__sa__nya, robocopy сохраняет даты непосредственно при копировании.

Amigos 26-04-2015 19:20 2501042

Вложений: 1
Цитата:

Цитата __sa__nya
дата изменения файлов была такой же, как в старом расположении. »

Во времена, когда я собирал дистрибутив XP, у меня были аналогичные проблема.
Мне не нравилось, что в папке \i386 все архивы типа notepad.ex_ были от одной даты 14 апреля 2008 года, хотя если зайти в этот архив, было видна реальная дата файла.
Я нашел утилитку FileTouch.exe ( аналог Touch из юникса),
распаковал все файлы из дистрибутивных архивов *.??_ в папку d:\!\ ,
и написал простенький скрипт, который
1 переходит в d:\!\
2 для всех файлов из этой папки поочередно читает атрибуты и дату этого файла установить его архиву с _ в конце расширения в папке d:\XP2008\I386\

Для вашей задачи нужно переделать скрипт по части используемых папок и убрать изменение расширения в целевом файле (вместо .txt > .tx_ )

scorpy490 30-12-2019 23:13 2902948

Ну вот прошло уже столько лет, а проблема осталась. Копирую большой массив файлов по сети обычным проводником. С сервера2019 на машину с Windows10. Если это имеет значение, то целевая шара, куда все копируется "админская", т.е. доступ туда через "$".
В процессе копирования создаются папки с правильной датой, такой же как у исходной папки. Но по завершению копирования эта дата меняется на текущую. У файлов остаются правильные даты, а на папках - время когда они копировались.
Это конечно не совсем красиво, если папка называется 2017 год, а дата создания конец 19-го, а рядом папка 18 года и дата создания на несколько минут позже первой. Сразу заметно, что с этими папками что-то "мутили". Мне это не понравилось, все удалил и стал запаковывать папки в архивы и их копировать. Хотя теперь не уверен, что при распаковке архива уже на целевой машине не повторится такой же номер.
Почему такое происходит. Что это косяк, баг, фича? Вроде напутать и сделать что-то не то, здесь даже негде. Обычное копирование.

Iska 31-12-2019 00:33 2902954

scorpy490, разве кто-то обещал сохранение дат создания при копировании Проводником?

Busla 31-12-2019 11:01 2902976

Цитата:

Цитата scorpy490
Что это косяк, баг, фича? »

а вы как полагаете: фиксировать реальное положение вещей - это баг или фича?

scorpy490 01-01-2020 18:29 2903113

Цитата:

Цитата Busla
а вы как полагаете: фиксировать реальное положение вещей - это баг или фича? »

Ну не знаю, может в каких-то ситуациях такое уместно: скопировал себе на комп папку, и дата папки показывает когда ее скопировали. Но если там тысячи папок, которые заполнялись несколько лет и дата папки имеет некоторое информационное значение. А тут при копировании все папки переписываются на одну дату.

likolot@vk 12-08-2021 14:40 2964096

Хорошо с такой задачей справляется бесплатная программа FastCopy. Выбираете папку для копирования и папку, или диск куда копировать, нажимаете "Execute" всё сохраняется с исходными атрибутами и исходной структурой.


Время: 05:18.

Время: 05:18.
© OSzone.net 2001-