Мы создаем приложение для Windows, которое рекурсивно обходит структуру каталогов, ищет файлы, которые соответствуют определенным критериям, а затем выполняет некоторую обработку для них.Чтобы решить, обрабатывать ли конкретный файл или нет, нам нужно открыть этот файл и прочитать его содержимое.
В принципе, этот подход кажется отличным, но некоторые клиенты, тестирующие раннюю версию приложения, имеютсообщил, что он изменяет время последнего обращения к большому количеству их файлов (что неудивительно, поскольку он фактически обращается к файлам).Это проблема для этих клиентов, потому что у них есть политики архивирования, основанные на времени последнего обращения к файлам (например, они архивируют файлы, к которым не обращались в течение последних 12 месяцев).Поскольку запланировано, что наше приложение будет запускаться чаще, чем «окно» архива, мы фактически предотвращаем архивирование любого из этих файлов.
Мы попытались добавить некоторый код, чтобы сохранить время последнего доступа к каждому файлу допрочитав его, затем запишите его обратно (отвратительно, я знаю), но это вызвало проблемы у другого клиента, который делал инкрементные резервные копии на основе журнала транзакций файловой системы.Наш явный параметр времени последнего обращения к файлам заставлял эти файлы включаться в каждую инкрементную резервную копию, даже если они на самом деле не менялись.
Итак, вот вопрос: есть ли какой-либо способ вСреда Windows, в которой мы можем прочитать файл без последнего времени обновления?
Заранее спасибо!
РЕДАКТИРОВАТЬ: Несмотря на тег "ntfs", мы на самом деле не можем полагаться нафайловая система NTFS.Многие наши клиенты запускают наше приложение по сети, поэтому на другом конце оно может быть чем угодно.