Автор Тема: Дата создания/изменения папок при копировании  (Прочитано 9985 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн MetalHeart

  • Администрация
  • *****
  • Сообщений: 3852
  • Репутация: 17
  • Денис
  • Поблагодарили: +1009
В процессе наведения глобального порядка на компах столкнулся с одной неприятной особенностью в Винде.
При копировании каталога с подкаталогами с одного места на другое происходит замена даты создания и последнего изменения всех папок датой копирования. А их нужно бы сохранить.

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

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

Есть ли способ получше?

Оффлайн valve

  • Старожил
  • *****
  • Сообщений: 845
  • Репутация: 17
  • Владимир
  • Поблагодарили: +689
Может такая прога поможет http://www.nirsoft.net/utils/bulk_file_changer.html

Оффлайн Althair

  • Старожил
  • *****
  • Сообщений: 1766
  • Репутация: 11
  • Поблагодарили: +347
Проблема далеко не нова. У меня для этого есть скрипт к тотал коммандеру. Погугли, если не найдёшь - потом из дома выложу

Оффлайн MetalHeart

  • Администрация
  • *****
  • Сообщений: 3852
  • Репутация: 17
  • Денис
  • Поблагодарили: +1009
Проблема далеко не нова. У меня для этого есть скрипт к тотал коммандеру. Погугли, если не найдёшь - потом из дома выложу

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

Оффлайн pm

  • Старожил
  • *****
  • Сообщений: 2640
  • Репутация: 39
  • Поблагодарили: +3932
столкнулся с одной неприятной особенностью в Винде.При копировании каталога с подкаталогами с одного места на другое происходит замена даты создания и последнего изменения всех папок датой копирования. А их нужно бы сохранить.
Это нормальное поведение, вне зависимости от ОС. При копировании директории создаются заново. На FreeBSD точно так же. Хватит уже во всём винить Windows. :D

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

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

Есть ли способ получше?
Есть. Штатная robocopy. Указать ключ /DCOPY с флагом T. Флаги DA, пожалуй, тоже указать явно. Древняя xcopy такое поведение копирования не поддерживает, но могу ошибаться - надо смотреть её ключи.
Надеюсь, у тебя ОС не ниже Vista.

Оффлайн rubenlukin

  • Старожил
  • *****
  • Сообщений: 3259
  • Репутация: 27
  • Рубен. Донецк
  • Поблагодарили: +1193
 :off:
Это настоящий unixway - "всё через жопу!"
ИМХО -- в цитатник  :ROFL: :laugh: ;D

Оффлайн MetalHeart

  • Администрация
  • *****
  • Сообщений: 3852
  • Репутация: 17
  • Денис
  • Поблагодарили: +1009
Это нормальное поведение, вне зависимости от ОС. При копировании директории создаются заново. На FreeBSD точно так же. Хватит уже во всём винить Windows.

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

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


Есть. Штатная robocopy. Указать ключ /DCOPY с флагом T. Флаги DA, пожалуй, тоже указать явно.
Тоже на нее надеялся и пробовал именно с этими ключами - работает только для файлов, для каталогов нет.

Оффлайн pm

  • Старожил
  • *****
  • Сообщений: 2640
  • Репутация: 39
  • Поблагодарили: +3932
Чудеса... На двух машинах с Win8.1 проверил, всё, как и должно быть. Небось на корпоративной машине пробуешь, со злыми политиками в AD? ;)


и добавил...
Давно живу, в чудеса не верю. ;) Проверил на третьей машине, домашней. Проверил с копированием на локальный диск и на внешний USB HDD, оба под NTFS. Всё работает в соответствие с описанием ключей и флагов robocopy. Флаги DA ключа /DCOPY не указывал.
Денис, покажи командную строку, которую вводишь для копирования.
« Последнее редактирование: 07 Ноября 2015, 18:38:19 от pm »

Оффлайн MetalHeart

  • Администрация
  • *****
  • Сообщений: 3852
  • Репутация: 17
  • Денис
  • Поблагодарили: +1009
robocopy "C:\123" "C:\456" /MIR /COPY:DAT

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

Оффлайн pm

  • Старожил
  • *****
  • Сообщений: 2640
  • Репутация: 39
  • Поблагодарили: +3932
Денис... :facepalm:  /DCOPY а не /COPY!  ...сколько потеряно времени... :D

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

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

Насколько помню, с ключом /MIR надо аккуратнее. Ключи /E /S посмотри. Почитай, утилита многополезная.
« Последнее редактирование: 08 Ноября 2015, 10:10:06 от pm »

Оффлайн MetalHeart

  • Администрация
  • *****
  • Сообщений: 3852
  • Репутация: 17
  • Денис
  • Поблагодарили: +1009
 :facepalm:
Спасибо! Сработало, не разобрался с аргументами...

Но праздный интерес с копированием на флешку остается. Почему теги времени сохраняются  :d_know: Проверю еще на рабочем компе, что там покажет.

Оффлайн pm

  • Старожил
  • *****
  • Сообщений: 2640
  • Репутация: 39
  • Поблагодарили: +3932
Пожалуйста! :fr:
Предполагаю, что windows считает USB накопитель потенциально устройством резервного копирования. В этом случае штатные средства копирования xcopy, robocopy и графический "проводник" работают логично, сохраняя при копировании временные метки директорий. Для альтернативных файловых менеджеров может быть предусмотрен типа "режим совместимости", как в Total Commander. Если копирую Far'ом по F5, то временные метки директорий всегда равны текущему времени, вне зависимости от целевого жёсткого/флеш диска. Посмотрел в настройках, есть настройка "использовать системную функцию копирования".

« Последнее редактирование: 08 Ноября 2015, 18:04:33 от pm »

 

Похожие темы

  Тема / Автор Ответов Последний ответ
10 Ответов
9548 Просмотров
Последний ответ 25 Мая 2012, 21:37:57
от Lynx
0 Ответов
3472 Просмотров
Последний ответ 22 Июня 2013, 18:20:18
от MetalHeart
14 Ответов
9360 Просмотров
Последний ответ 01 Февраля 2014, 11:00:29
от misa
0 Ответов
2795 Просмотров
Последний ответ 14 Января 2014, 09:13:04
от Viktor D