【问题标题】:How to list all the modified files in a shadow-volume?如何列出影子卷中所有修改过的文件?
【发布时间】:2017-08-25 02:15:44
【问题描述】:

创建还原点后,Windows 开始监视卷,并且任何更改都记录在系统卷信息文件夹内的专有差异文件中。

通过 VSS-SDK api,我们可以公开该卷,但它向我们展示了整个卷以及自快照创建以来已修改或未修改的所有文件/文件夹,并且在访问任何文件时,过滤器 -如果需要,驱动程序会应用差异,并向我们显示文件。

我的问题:是否可以列出所有修改过的文件,相对于还原点(比较影子卷和主卷中每个文件的蛮力方法除外)?

当我们点击文件属性中的旧版本选项卡时,Windows 是如何做到的?

【问题讨论】:

    标签: windows volume-shadow-service


    【解决方案1】:

    使用NTFS Change Journal。 Windows 在日志数据库中记录对 NTFS 卷上所有文件的所有更改(如果日志已打开)。可以通过查询返回从特定起始 USN 编号(您的还原点)开始的所有更改

    这里是 an article 关于在实现变更日志功能时帮助我很多的日志

    【讨论】:

    • 感谢您的链接,您知道如何获取还原点的 USN 编号吗?如果您有第二个问题,我正在努力获取此信息并有一个未回答的问题?stackoverflow.com/questions/10544433/…
    • 我已经为您的问题添加了答案...虽然它可能不是您要寻找的 ;-)
    【解决方案2】:

    要检测当前文件系统与卷影副本的变化,您可以使用带有卷影副本 UNC 路径的 WinMerge 等第三方软件 http://winmerge.org/。这将提供一个用于比较的 GUI

    例如,使用“C:\”,与“\localhost\C$\@GMT-2017.08.24-18.07.46”

    当然,输入有效的 UNC 路径以与卷影副本的日期和时间一致。

    【讨论】:

      【解决方案3】:

      我猜最好的方法是蛮力,加上USN number-comparison 供参考,类似问题的链接是here

      【讨论】:

        【解决方案4】:

        Windows 从属性中知道修改日期。它比较这两个文件并检查修改日期。

        【讨论】:

        • 日期属性(所有三个——创建、修改和访问)可以通过编程轻松修改,所以我认为不是这样。
        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多