查看Windows资源管理器的完整撤消历史记录


16

背景

Windows资源管理器维护文件操作的列表,以便您可以撤消它们(XP之前最多10次操作,Vista最多32次)。您可以通过打开“ 编辑”菜单,突出显示“ 撤消”命令而不选择它,然后查看状态栏来查看最后一个操作,尽管它通常不起作用,并且只在状态栏中显示一个空白字符串。 。

问题

不幸的是,这不仅会在状态栏中显示该操作(默认情况下未启用该状态),而且还仅显示最后一个操作。更糟糕的是,它仅显示操作和文件,而不显示路径。

用例场景

一个例子是使用,如果您重命名和移动一堆的文件,尤其是类似名称的类似文件download1.pngdownload2.png等等,然后认识到,你忘了移动文件的重命名一个之后。查看最近修改的几个文件名和路径的列表,可以使您找出丢失的文件名,而不必撤消所有可能使事情一团糟的后续操作。

有谁知道一种获取Windows存储在其“撤消”缓冲区中的所有操作的列表的方法?我见过可以挂入Windows并执行不受支持的操作的程序,例如重新排列任务栏和任务栏图标(XP不支持该功能),因此我希望有人设法对Undo缓冲区执行相同的操作。


xp 确实支持通过名为taskbar shuffle
CostinGu13ă2013年

1
@ CostinGușă,实际上,有几个程序可以让您重新排列任务栏和任务栏图标,但是就像您说的那样,它们是第三方的。这是因为Windows不支持该操作(Microsoft对用户行为进行了假设),因此他们必须对这些功能进行反向工程以找到一种解决方法,因为没有官方的钩子允许这样做(我本人曾经必须对控制托盘图标显示行为的注册表项进行反向工程,以便为其编写查看器/编辑器。
Synetech

Windows 10中,在文件夹的右键单击菜单中突出显示“ 撤消/重做”时,状态栏不显示任何内容。令人讨厌的是,功能区没有任何按钮。解决方法是,您必须将“ 撤消/重做”按钮添加到“ 快速访问工具栏”(标题栏上的小工具栏),然后指向每个按钮以查看其操作的详细信息。(当然,您仍然看不到路径或完整的历史记录。) PS:重做删除之类的操作似乎会清除整个历史记录,因此请当心。
ADTC

Answers:


6

希望我能正确得到您想要的。如果是这样,似乎有WinAPI方法-ReadDirectoryChangesW可以完成您期望的操作。

我不确定以下方法是否适用于文件操作历史记录,或者仅显示使用后的更改,但是,由于该方法没有什么不同,可能会在您提供的方案中使用,因此我会提到即使稍微偏离主题:

您可以将FileSystemWatcher对象连接到文件夹(但是链接的主题不同, IMHO很好地概述了类的用途)–我知道这是C#.NET类,但是可以将C#做成PowerShell,如下所示由Microsoft脚本中心的此脚本提供。

您可能会考虑使用第三方解决方案,例如Windows资源管理器跟踪器,它们似乎具有相同的功能(我相信它们宁愿使用(记录的)API调用,也不愿进行逆向工程技术–但是您似乎有点担心它们,因此,我只查找了其中一个)。

最后但并非最不重要的一点,您甚至可以考虑编写一个基于FileSystemWatcher的简单WPF应用程序,或者考虑调用ReadDirectoryChangesW方法的更为复杂的WPF应用程序。


非常好,这可能是superuser.com/上最全面的答案之一。谢谢您的链接和付出的努力,非常好!..谢谢!:))
Nostromov
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.