Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Windows [игнор отключен] [закрыт для гостей] / Наследование времени создания файла / 7 сообщений из 7, страница 1 из 1
08.10.2015, 18:42
    #39072304
kdv
kdv
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Наследование времени создания файла
Делаю тесты в Win2008 R2 Enterprise 64bit.
В принципе, я и на Win7 такую же беду замечал.
Проблема такая - тесты создают и модифицируют всякие файлы, при повторе файл удаляется и создается с тем же именем.
Например, test.db.

Так вот, у вновь созданного файла дата создания оказывается равной уже удаленному файлу!
Например, делал тест, создал файл в 20:00. Тест шел 30 минут. Записал разницу между датой последнего изменения и датой создания, удалил файл.
Теперь запускаю тест повторно, с тем же именем файла. И у нового файла время создания оказывается... 20:00.

Поскольку по дате создания и дате модификации проверяется время выполнения теста, это порет всю картину тестирования, и приходится для повтора или нового теста постоянно указывать другое имя файла.

Откуда лезет эта фигня, и как это вообще возможно (и зачем это)?
...
Рейтинг: 0 / 0
08.10.2015, 18:42
    #39072305
kdv
kdv
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Наследование времени создания файла
kdv,

файловая система - NTFS.
...
Рейтинг: 0 / 0
08.10.2015, 18:55
    #39072321
Akina
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Наследование времени создания файла
Да как обычно, любимая всеми Майкрософт делает как хочет и называет как придётся.

Я уже давно смирился с тем, что дата создания - это чаще всего дата создания первого файла с таким именем в этой папке (это следствие повторного использования элемента каталога, если он был перезаписан, пока состоял в списке удалённых, или там выполнялась дефрагментация, то отсчёт начнётся заново), дата открытия - это обычно дата последнего открытия на изменение, а дата изменения - это, как правило, дата последнего закрытия после изменения содержимого или атрибутов. Причём всё это - далеко не в 100% случаев, порой вообще невозможно понять, откуда взялась та или иная дата.
Так что я всегда фиксирую дату-время или в теле файла, или в его имени, если она важна.
...
Рейтинг: 0 / 0
08.10.2015, 19:04
    #39072334
Dimitry Sibiryakov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Наследование времени создания файла
kdvОткуда лезет эта фигня, и как это вообще возможно (и зачем это)?
Существует задержка удаления файлов на уровне ядра для повышения быстродействия. В
результате твои тесты не создают новый файл, а перезаписывают старый, который не успел
удалиться. Время сохраняется.

Нагуглилось забавное чтиво со ссылками:
http://stackoverflow.com/questions/3764072/c-win32-how-to-wait-for-a-pending-delete-to-complete
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
08.10.2015, 19:19
    #39072342
bazile
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Наследование времени создания файла
kdv, это называется "File System Tunneling". В KB172190 объясняются причины такого поведения, его временные рамки (15 сек) и как это можно отключить. На твоем месте я бы не стал менять системные настройки, а изменил код создания файлов так чтобы дата создания принудительно менялась на текущее время.
...
Рейтинг: 0 / 0
10.10.2015, 01:47
    #39073392
miksoft
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Наследование времени создания файла
А если попробовать файл перед удалением переименовывать?
...
Рейтинг: 0 / 0
10.10.2015, 03:35
    #39073400
kdv
kdv
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Наследование времени создания файла
Dimitry Sibiryakovа перезаписывают старый
у меня было такое подозрение.

miksoftА если попробовать файл перед удалением переименовывать?
не пробовал, но мысль интересная, спасибо.

bazileэто называется "File System Tunneling"
спасибо. в ссылке написано почему-то, что это относится к windows nt и 2000, но я наблюдаю это на Win2008. Наверное KB давно не обновлялся.
...
Рейтинг: 0 / 0
Форумы / Windows [игнор отключен] [закрыт для гостей] / Наследование времени создания файла / 7 сообщений из 7, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]