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

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

Оффлайн MetalHeart

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

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

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

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

Оффлайн valve

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

Оффлайн Althair

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

Оффлайн MetalHeart

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

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

Оффлайн pm

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

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

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

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

Оффлайн rubenlukin

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

Оффлайн MetalHeart

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

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

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


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

Оффлайн pm

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


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

Оффлайн MetalHeart

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

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

Оффлайн pm

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

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

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

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

Оффлайн MetalHeart

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

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

Оффлайн pm

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

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

 

Похожие темы

  Тема / Автор Ответов Последний ответ
11 Ответов
15670 Просмотров
Последний ответ 30 Июля 2023, 17:06:33
от Roman_sp
0 Ответов
6301 Просмотров
Последний ответ 22 Июня 2013, 18:20:18
от MetalHeart
14 Ответов
14435 Просмотров
Последний ответ 01 Февраля 2014, 11:00:29
от misa
0 Ответов
5898 Просмотров
Последний ответ 14 Января 2014, 09:13:04
от Viktor D