2014-02-04 2 views
1

При копировании файла (в среде Windows) время и время создания и LastAccess изменяются и могут быть получены с помощью объекта FileInfo.Получение файла move datetime

Однако я не могу найти надежное datetime (напрямую связанное с файлом), которое будет изменено при перемещении файла в папку. Обновляет ли Windows какое-либо значение datetime в файле при его перемещении (и может ли оно быть восстановлено)?

Примечание Я не в тупике, и у меня много обходных решений. Мне просто интересно, можно ли это обрабатывать непосредственно на уровне файла, чтобы избежать ненужной логики.

+0

Вы говорите, когда вы копируете файл из одного каталога в другой каталог на том же машина изменилась? Создано и LastAccess datetime? Это странно! –

+0

Да, это так. Самая странная часть заключается в том, что время datetime модификации остается таким же, поэтому вы получаете модификацию datetime до создания datetime. –

ответ

1

Так что это, кажется, как это работает в Windows:

  • Время создания:, если целевой файл уже существует, сохраняется его время создания, в противном случае оно устанавливается на текущее системное время.
  • Последнее время модификации: всегда копируется из времени модификации исходного файла.
  • Последнее время доступа: всегда установлено на текущее системное время.

RoboCopy и RichCopy являются несколько инструментов командной строки, которые могут сохраняющих для каталогов время изменения с/DCOPY: T переключатель, но это работает только в Vista, и более новые. Еще одна утилита копирования, которая может сохранить временные метки является XXCOPY

Вы можете найти пример RoboCopy в конце этой страницы: http://www.computerhope.com/robocopy.htm

0

Как насчет использования FileInfo's LastWriteTime? Похоже, он держит дату из исходного файла

+0

LastWriteTime не обновляется при перемещении файла. –

+0

Это не ответ. Это больше похоже на комментарий. Пожалуйста, удалите его, поскольку он не дает ответа на этот вопрос –

Смежные вопросы