回答
后,因此,一些搜索,并感谢@ryyker和@Ben方向我能找出答案:
例如,对于文件:C:\ SomeFolder \ SomeFile.exe
从CMD(以管理员身份运行):
CreateProcessW(NULL,L"cmd.exe /c \"vssadmin list shadows for=C:\\ > C:\\someTmpFile.txt\"",...);
:
vssadmin list shadows for=C:\
对于编程解决方案,您可以运行它
读取并解析创建的文件。
这里你上面得到(“以前的版本”容器的那种)卷影副本的列表。
请参见相应的“卷影副本卷”行(你想要的版本)和追加卷名后的剩余文件路径:
\\ Previous version path = \\?\GLOBALROOT\Device\HarddiskVolumeShadowCopy3\SomeFolder\SomeFile.exe"
wchar_t* prevPath = L"\\\\?\\GLOBALROOT\\Device\\HarddiskVolumeShadowCopy3\\SomeFolder\\SomeFile.exe";
现在你可以读取与众所周知的WIN32API函数的文件CreateFile和ReadFile。 (从MSDN创建和读取文件示例:EXAMPLE)
请确保使用该函数的UNICODE版本,因为ASCII版本可能缺少对“\?\”路径的支持。
祝你好运! =]
这个问题列出了几个标签。所以目前还不清楚是否需要严格的c/C++方法,或者脚本等是否可行。在任何情况下...
这里有一些链接,会在正确的方向指向希望:
- 在MSDN网站上,有文档和示例代码指 到shadow copy API。
- 这里是一个Link to the concept卷影复制服务的 。
- 这里是如何可以command line, or program script来恢复卷影副本 文件的描述。
- 使用上述与structures found here 的API链接将为您提供一种方式来获得有关特定 文件,音量等
- 信息。最后,这里是谈论Volrest utility from Windows Server 2003 Resource Kit tools链接,其中包括 有关如何“可以查看以前的 版本 of [a]文件夹”的信息。
尽管这个答案在理论上可以回答这个问题,但[更好](http://meta.stackoverflow.com/q/8259)在这里包含了答案的重要部分,并提供了供参考的链接。 – hichris123
@ hichris123 - 我正在编辑,以便您在投票时发现更多相关链接。如果我解决了您的问题,请删除投票。 – ryyker
这不是我的downvote - 所以我不能删除它。有一件事:我看到你已经添加了更多的链接。 *那不是我关心的*。我们希望在这里有完整的答案*,请你总结一下你给出的链接的内容。另外,我建议阅读[这篇文章](http://meta.stackexchange.com/a/8259/237685)。 – hichris123
- 1. 从.evt文件中获取WinAPI LookupAccountSid
- 2. 无法从winapi的编辑控件中获取文本
- 3. 获取文本文件中的版本
- 4. 获取git的塔以前的文件版本
- 5. 如何获取文件的以前版本
- 6. 获取以前的项目版本
- 7. EMC Documentum:获取以前版本的IDfSysObject
- 8. 获取以前版本的支持库
- 9. pysvn获取以前的版本
- 10. 从以前的安装中获取版本信息
- 11. MSBuild:从msbuild脚本获取以前的版本
- 12. 获取NPM中软件包的以前版本
- 13. Powershell - 如何从文本文件获取以前的行?
- 14. 从非执行文件获取版本
- 15. 如何从gemspec文件获取版本?
- 16. 如何从install.ps1文件中获取当前的软件包版本?
- 17. 如何从Hive中读取hbase当前版本和以前版本的数据
- 18. 获取在Git中提交的任何文件的所有以前版本
- 19. HEAD从以前的版本
- 20. 以明文形式获取文件版本的脚本
- 21. 从svn存储库中的以前版本复制文件
- 22. 从版本95之前的Excel文件中读取数据
- 23. 有没有办法从以前的apk版本文件中获取私有签名密钥库文件?
- 24. 获取当前unity3d版本
- 25. 是否可以从XAP文件获取版本号
- 26. 获取以前版本和当前版本之间的所有VCS更改
- 27. 获取当前和以前版本号的svn diff的命令
- 28. 提取存储在tar归档文件中的以前版本的文件
- 29. 从gridview中的文本框获取以前的值
- 30. 获取文本框的以前的值
魔术字是“影子副本”。 – Ben