Как вывести список всех измененных файлов в теневом томе? - PullRequest
5 голосов
/ 27 августа 2010

Когда создается точка восстановления, Windows начинает мониторинг тома, и любые изменения записываются в собственный файл diff внутри папки System Volume Information.

Через API VSS-SDK мы можем выставить том, но он показывает нам весь том и все файлы / папки, которые были или не были изменены с момента создания снимка, и при доступе к любому файлу, фильтру Драйвер применяет diff, если требуется, и показывает нам файл.

Мой вопрос: возможно ли перечислить все измененные файлы относительно точки восстановления (кроме метода грубой силы для сравнения каждого файла внутри теневого и основного тома)?

Как Windows это делает, когда мы нажимаем на вкладку предыдущих версий в свойствах файла?

Ответы [ 4 ]

3 голосов
/ 27 октября 2010

Используйте Журнал изменений NTFS .Windows регистрирует все изменения всех файлов на томе NTFS в базе данных журнала (если журнал включен).Это может быть запрошено для возврата всех изменений с определенного начального номера USN (вашей точки восстановления)

Вот статья о журнале, которая мне очень помогла при реализации функциональности журнала изменений

1 голос
/ 24 августа 2017

Чтобы обнаружить изменения в текущей файловой системе по сравнению с теневой копией, вы можете использовать стороннее программное обеспечение, такое как WinMerge, с путями UNC теневой копии http://winmerge.org/. Это предоставит графический интерфейс для сравнения

Например, используйте "C: \", vs "\ localhost \ C $ \ @ GMT-2017.08.24-18.07.46"

. Конечно, введите правильный UNC-путь, чтобы он совпадал с датой и временемтеневой копии.

0 голосов
/ 06 сентября 2010

Полагаю, наилучшим способом является грубая сила в сочетании с сравнением чисел в USN. Для справки ссылка на аналогичный вопрос здесь

0 голосов
/ 03 сентября 2010

Windows знает по дате изменения атрибутов. Он сравнивает два файла и проверяет дату изменения.

...