Клуб DiyAudio

Начинающим и не только... => Бытовые вопросы => Компьютерный раздел => Тема начата: MetalHeart от 05 Ноября 2015, 13:54:43

Название: Дата создания/изменения папок при копировании
Отправлено: MetalHeart от 05 Ноября 2015, 13:54:43
В процессе наведения глобального порядка на компах столкнулся с одной неприятной особенностью в Винде.
При копировании каталога с подкаталогами с одного места на другое происходит замена даты создания и последнего изменения всех папок датой копирования. А их нужно бы сохранить.

Причем этого не происходит при копировании на внешний USB-носитель  :d_know:
Но мне важно сохранить эти даты  именно при копировании на комп.

Нашлось только одно, не очень элегантное решение - упаковать каталог в rar-архив, перекинуть и распаковать. Тогда даты сохраняются.

Есть ли способ получше?
Название: Re: Дата создания/изменения папок при копировании
Отправлено: valve от 05 Ноября 2015, 14:33:39
Может такая прога поможет http://www.nirsoft.net/utils/bulk_file_changer.html
Название: Re: Дата создания/изменения папок при копировании
Отправлено: Althair от 05 Ноября 2015, 16:17:08
Проблема далеко не нова. У меня для этого есть скрипт к тотал коммандеру. Погугли, если не найдёшь - потом из дома выложу
Название: Re: Дата создания/изменения папок при копировании
Отправлено: MetalHeart от 05 Ноября 2015, 21:05:33
Проблема далеко не нова. У меня для этого есть скрипт к тотал коммандеру. Погугли, если не найдёшь - потом из дома выложу

Да, вроде видел его.. Но как понял из обсуждения, тоже не совсем чисто работает - сначала копирует, а потом отдельно перезаписывает метаданные.
Хотя может другого варианта и нет  :d_know:
Хотя при разархивировании сразу с правильной датой распаковываются.
Название: Re: Дата создания/изменения папок при копировании
Отправлено: pm от 07 Ноября 2015, 09:30:13
столкнулся с одной неприятной особенностью в Винде.При копировании каталога с подкаталогами с одного места на другое происходит замена даты создания и последнего изменения всех папок датой копирования. А их нужно бы сохранить.
Это нормальное поведение, вне зависимости от ОС. При копировании директории создаются заново. На FreeBSD точно так же. Хватит уже во всём винить Windows. :D

Причем этого не происходит при копировании на внешний USB-носитель
Проверил, аналогично создаются директории с новой датой/временем. И это правильно. Под рукой был только USB-флеш под FAT32, накопителя с NTFS не было для проверки.

Нашлось только одно, не очень элегантное решение - упаковать каталог в rar-архив, перекинуть и распаковать.
Можно продолжить этот путь боли и скорби: вдуть директории с файлами в конвейер/канал через архиватор с выключенной компрессией и выдуть в новое местоположение на диске/сервере. Это настоящий unixway - "всё через жопу!" :laugh:

Есть ли способ получше?
Есть. Штатная robocopy. Указать ключ /DCOPY с флагом T. Флаги DA, пожалуй, тоже указать явно. Древняя xcopy такое поведение копирования не поддерживает, но могу ошибаться - надо смотреть её ключи.
Надеюсь, у тебя ОС не ниже Vista.
Название: Re: Дата создания/изменения папок при копировании
Отправлено: rubenlukin от 07 Ноября 2015, 09:37:27
 :off:
Это настоящий unixway - "всё через жопу!"
ИМХО -- в цитатник  :ROFL: :laugh: ;D
Название: Re: Дата создания/изменения папок при копировании
Отправлено: MetalHeart от 07 Ноября 2015, 14:12:55
Это нормальное поведение, вне зависимости от ОС. При копировании директории создаются заново. На FreeBSD точно так же. Хватит уже во всём винить Windows.

Да я не винил, а уточнил :)

Проверил, аналогично создаются директории с новой датой/временем. И это правильно. Под рукой был только USB-флеш под FAT32, накопителя с NTFS не было для проверки.
Странно, у меня нет..  ??? Тоже FAT32. На рабочем компе так же.


Есть. Штатная robocopy. Указать ключ /DCOPY с флагом T. Флаги DA, пожалуй, тоже указать явно.
Тоже на нее надеялся и пробовал именно с этими ключами - работает только для файлов, для каталогов нет.
Название: Re: Дата создания/изменения папок при копировании
Отправлено: pm от 07 Ноября 2015, 16:32:10
Чудеса... На двух машинах с Win8.1 проверил, всё, как и должно быть. Небось на корпоративной машине пробуешь, со злыми политиками в AD? ;)


и добавил...
Давно живу, в чудеса не верю. ;) Проверил на третьей машине, домашней. Проверил с копированием на локальный диск и на внешний USB HDD, оба под NTFS. Всё работает в соответствие с описанием ключей и флагов robocopy. Флаги DA ключа /DCOPY не указывал.
Денис, покажи командную строку, которую вводишь для копирования.
Название: Re: Дата создания/изменения папок при копировании
Отправлено: MetalHeart от 07 Ноября 2015, 23:47:49
robocopy "C:\123" "C:\456" /MIR /COPY:DAT

Без /MIR копирует только файлы лежащие в корневом каталоге
Название: Re: Дата создания/изменения папок при копировании
Отправлено: pm от 08 Ноября 2015, 10:00:23
Денис... :facepalm:  /DCOPY а не /COPY!  ...сколько потеряно времени... :D

robocopy c:\123 c:\456 /dcopy:t /e

Без /MIR копирует только файлы лежащие в корневом каталоге

Насколько помню, с ключом /MIR надо аккуратнее. Ключи /E /S посмотри. Почитай (http://www.cyberforum.ru/cmd-bat/thread792016.html), утилита многополезная.
Название: Re: Дата создания/изменения папок при копировании
Отправлено: MetalHeart от 08 Ноября 2015, 13:20:45
 :facepalm:
Спасибо! Сработало, не разобрался с аргументами...

Но праздный интерес с копированием на флешку остается. Почему теги времени сохраняются  :d_know: Проверю еще на рабочем компе, что там покажет.
Название: Re: Дата создания/изменения папок при копировании
Отправлено: pm от 08 Ноября 2015, 18:00:13
Пожалуйста! :fr:
Предполагаю, что windows считает USB накопитель потенциально устройством резервного копирования. В этом случае штатные средства копирования xcopy, robocopy и графический "проводник" работают логично, сохраняя при копировании временные метки директорий. Для альтернативных файловых менеджеров может быть предусмотрен типа "режим совместимости", как в Total Commander. Если копирую Far'ом по F5, то временные метки директорий всегда равны текущему времени, вне зависимости от целевого жёсткого/флеш диска. Посмотрел в настройках, есть настройка "использовать системную функцию копирования".