如何列出影子卷中所有修改过的文件?
创建还原点后,Windows 开始监视卷,任何更改都会记录在系统卷信息文件夹内的专有差异文件中。
通过完整的 VSS-SDK api,我们可以公开卷,但它向我们显示整个卷以及自快照创建以来已修改或尚未修改的所有文件/文件夹,并且在访问任何文件时,过滤器驱动程序会应用diff(如果需要)并向我们显示该文件。
我的问题:是否可以列出相对于还原点的所有修改文件(除了比较影子卷和主卷内的每个文件的强力方法)?
当我们单击文件属性中的先前版本选项卡时,Windows 是如何执行此操作的?
When a Restore Point is created, Windows starts monitoring the volume and any changes are recorded in a proprietory diff file inside System Volume Information folder.
Thorough VSS-SDK api, we can expose the volume, but it shows us the whole volume and all the files/folders which have or have-not been modified since snapshot creation, and on access to any file, a filter-driver applies the diff, if required, and shows us the file.
My Question: Is it possible to list all the modified files, with respect to a restore point (except the brute-force method to compare each file inside the shadow-volume and the main-volume)?
How does Windows do it when we click on the previous versions tab in a file's Properties?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
使用NTFS 更改日志。 Windows 在日志数据库中记录对 NTFS 卷上所有文件的所有更改(如果日志已打开)。可以查询此命令以返回从特定起始 USN 号(您的还原点)开始的所有更改,
这里是 一篇关于日记的文章在实现变更日记功能时对我帮助很大
Make use of the NTFS Change Journal. Windows logs all changes to all files on an NTFS volume in a journal database (if the journal is on). This can be queried to return all changes from a specific start USN number (your restore point)
Here is an article about the journal that helped me a lot while implementing change journal functionality
要检测当前文件系统与卷影副本中的更改,您可以使用第三方软件(例如 WinMerge)和卷影副本 UNC 路径
http://winmerge.org/。这将提供一个用于比较的 GUI
例如,使用“C:\”与“\localhost\C$\@GMT-2017.08.24-18.07.46”
当然,输入有效的 UNC 路径以与日期一致卷影副本的时间。
To detect changes in the current file system vs a shadow copy, you can use a third party software like WinMerge with the shadow copy UNC paths
http://winmerge.org/. This will provide a GUI for comparisons
For example, use "C:\", vs "\localhost\C$\@GMT-2017.08.24-18.07.46"
Of course, enter a valid UNC path to coincide with the date and time of a shadow copy.
我想最好的方法是暴力破解,加上USN号码比较作为参考,类似问题的链接是此处
I guess the best way IS brute-force, coupled with USN number-comparison For reference, the link to a similar question is here
Windows 从属性修改日期得知。它比较两个文件并检查修改日期。
Windows know from the attributes date modified. It compares the the two file and checks the modified date.