NTFS - самый быстрый способ найти файл по дате создания / изменения

Данный:

  • Том NTFS
  • Путь к папке
  • какое-то значение даты и времени - назовем его $ date

Какой самый быстрый способ найти все файлы с

("last modification date" > $date) or ("creation date" > $date)

Просто хочу поискать все добавленные или измененные файлы.

По соображениям производительности я не хочу выполнять рекурсивное сканирование всех подпапок и читать атрибуты всех файлов.
По техническим причинам (например, UAC, документация NTFS) я хотел бы избежать синтаксического анализа файла \\. \ $ Mft

Есть ли какой-нибудь Windows API, который позволит мне выполнять поиск таким образом?

Изменить: еще одно ограничение:
По причинам технического обслуживания я не хочу зависеть от службы индексирования.


person SeeR    schedule 01.02.2011    source источник
comment
Мне кажется, что ваши ограничения устранили все возможности.   -  person Tergiver    schedule 01.02.2011
comment
Если вы не хотите использовать службу индексирования, не хотите читать MFT и не хотите рекурсивно сканировать, какой еще вариант есть?   -  person Luke    schedule 01.02.2011
comment
@Luke Похоже, я прошу какой-нибудь Win32 API, похожий на FindFirstFile, который позволяет мне фильтровать по дате создания / изменения.   -  person SeeR    schedule 02.02.2011
comment
Насколько мне известно, эта функциональность не поддерживается на уровне файловой системы, поэтому у вас действительно нет других вариантов.   -  person Luke    schedule 02.02.2011


Ответы (2)


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

person jrtipton    schedule 25.03.2011

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

person Byron Whitlock    schedule 01.02.2011
comment
Извините, забыл добавить, что не хочу зависеть от службы индексирования. Я немедленно обновлю свой вопрос. - person SeeR; 01.02.2011