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

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

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

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

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

Я уже давно смирился с тем, что дата создания - это чаще всего дата создания первого файла с таким именем в этой папке (это следствие повторного использования элемента каталога, если он был перезаписан, пока состоял в списке удалённых, или там выполнялась дефрагментация, то отсчёт начнётся заново), дата открытия - это обычно дата последнего открытия на изменение, а дата изменения - это, как правило, дата последнего закрытия после изменения содержимого или атрибутов. Причём всё это - далеко не в 100% случаев, порой вообще невозможно понять, откуда взялась та или иная дата.
Так что я всегда фиксирую дату-время или в теле файла, или в его имени, если она важна.
...
Рейтинг: 0 / 0
Наследование времени создания файла
    #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
Наследование времени создания файла
    #39072342
bazile
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kdv, это называется "File System Tunneling". В KB172190 объясняются причины такого поведения, его временные рамки (15 сек) и как это можно отключить. На твоем месте я бы не стал менять системные настройки, а изменил код создания файлов так чтобы дата создания принудительно менялась на текущее время.
...
Рейтинг: 0 / 0
Наследование времени создания файла
    #39073392
miksoft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А если попробовать файл перед удалением переименовывать?
...
Рейтинг: 0 / 0
Наследование времени создания файла
    #39073400
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry Sibiryakovа перезаписывают старый
у меня было такое подозрение.

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

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


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