Неправильная дата создания файла в Windows XP / Vista

Я недавно установил (свободный) Citrix XenServer 5.0. Во время основанной на мастере установки это спросило меня, если я хочу преобразовать сервер, с которым я загрузился в DomU. Я не хотел, так как сервер был пуст. Но я предлагаю, чтобы Вы дали ему выстрел. XenServer также дает Вам хороший GUI (windoze) для управления VMs.

Citrix XenServer 5

7
задан 9 December 2009 в 22:44
4 ответа

Похоже, это задокументированная функция, называемая туннелированием файловой системы. См. http://support.microsoft.com/kb/172190 для получения подробной информации об этом и о том, как отключить его с помощью параметра реестра.

8
ответ дан 2 December 2019 в 23:17

Я не полагаю, что это - ошибка, я думаю, что это дизайном. Я столкнулся с этим несколько месяцев назад сам.

Рассмотрите заявление, которое создает временную, рабочую копию файла, который Вы просто открыли. Поскольку Вы работаете, Ваши изменения записаны во временный файл. Когда Вы закончены и принимаете решение сохранить файл, приложение удаляет оригинал и переименовывает или копирует временный файл в исходное имя файла. Это не ужасно распространено, но это весьма распространено (много старых и простых приложений прокладывают себе путь... текстовые редакторы и т.п.).

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

Я не знаю, какой спам продолжается негласно, возможно, кто-то с некоторым пониманием предоставит больше подробную информацию. Как в стороне, некоторые файловые системы не хранят даты создания вообще, только измененные и даты, к которым получают доступ (ext2, например).

Обновление: Я нашел следование из устройств записи xcopy по http://www.xxcopy.com/xxcopy15.htm, который мог бы относиться к тому, что Вы делаете:

Начиная с использования Файла - Создают дату, имеет серьезные проблемы, мы обычно препятствуем использованию если эта дата

Проблемы с датой создания файла (Файл - Создают дату),

Проблемы Файла - Создают дату, может быть прослежен до несоответствия в различных утилитах управления файлами Microsoft. Кажется что цель трех отличных
вариации в значениях даты файла ясно никогда не определялись разработчиком функции. Мы как разработчики программного обеспечения не столкнулись ни с какими официальными документами на этом предмете.

7
ответ дан 2 December 2019 в 23:17

Я предположил бы, что Windows ленив и - при наблюдении, что все остальное в новом файле идентично старому - просто снова использует запись в таблице файловой системы, которая была ранее отмечена для удаления.

Этот вид поведения на самом деле документируется здесь.

Метки времени обновляются неоднократно и по различным причинам. Единственная гарантия о метке времени файла - то, что время файла правильно отражается, когда дескриптор, который вносит изменение, закрывается.

(Мой акцент)

Редактирование для добавления: Я предполагаю, что Вы хотели бы использовать что-то как SetFileTime в Вашем приложении после создания файла.

2
ответ дан 2 December 2019 в 23:17
  • 1
    Спасибо, mh. Используя SetFileTime хорошее решение, да. –  CesarGon 10 December 2009 в 03:24

Я нашел это с помощью Win32 DeleteFile в Windows 7 SP1.

Попробовали несколько уловок, чтобы использовать правильную дату «создания», но без радости. Если вы подождете 2-3 минуты после удаления файла, а затем создадите новый, дата будет правильной. Вероятно, нужна процедура win32 «очистить все файлы».

Это могло вызвать неприятные ошибки, на мой взгляд довольно сомнительные вещи, неопрятный дизайн. Файл удален, пропал, такого "двоения" быть не должно. Если вы беспокоитесь, предложите использовать win32 SetFileTime .

2
ответ дан 2 December 2019 в 23:17

Теги

Похожие вопросы