有没有办法复制所有活动窗口打开的文件的文件路径?(用于在重启后保存和恢复 Windows 会话)

有没有办法复制所有活动窗口打开的文件的文件路径?(用于在重启后保存和恢复 Windows 会话)

我知道有一个程序叫做Twinsplay - 专业版,除其他功能外,它可以“会话保存”您当前打开的文件(即用户打开的文件 - 任务栏中活动显示的任何文件),然后在任何其他时间恢复它们。

因此,您可以在 Windows 重启后恢复所有打开的文件 - 如果您必须应用更新并打开大量文件,这非常有用。(请参阅有关此问题的原始讨论这里)。

我很难找到一个工具或批处理命令,可以隔离 Twinsplay 的功能 - 我想 - 记下所有当前用户打开的文件的路径和正在运行的程序。

仅使用 Twinsplay 本身似乎没问题 - 我不必问这个问题。但 Twinsplay 有两个注意事项:

  1. 它会干扰您浏览器的现有会话保存功能,像打开文件一样读取您的标签,并在您的浏览器会话之上存储它们的第二份副本,这意味着当您再次恢复浏览器时,您将拥有两个标签副本(而且它们的顺序也都乱了!)。

  2. 它恢复会话文件的方式是同时打开所有文件。但这样做存在问题 - 假设我在 Adob​​e InDesign 中打开了 4 个文件,而第一个文档中缺少图像链接(并且在关闭会话时我没有修复该断开的链接)。恢复后,InDesign 将显示一个对话框,提示“此文档中缺少链接”,从而阻止打开其他 3 个同时加载的文档。Twinsplay 没有提供任何已保存的会话“文件列表”,因此您甚至无法检查所有文件是否都已成功打开,如果不小心,您就会忘记正在处理的内容。唯一安全的方法是控制一次打开一个文件,或者在打开文件之间设置延迟 - 批量操作很容易。

我找到了一个潜在的工具,NirSoft OpenedFilesView,但那个会显示系统中打开的每个文件,这意味着数百个系统进程文件等等。而且它实际上并没有以用户看到的方式准确列出用户打开的每个文件:例如,在 wordpad 中打开的 rtf 文件并没有显示为 rtf 文件,这是某种奇怪的系统方式,对用户以后打开毫无用处。

感谢您的帮助。

编辑:

非常有帮助后的进一步思考和发展评论作者:Daniel Beck,发布于 meta:

好的,我下载了 Eclipse 和一个示例 cpp 文件,并测试了 Daniel 的说法,你是对的。Twinsplay将 Eclipse 列为可以保存的窗口 - 但是,当您点击“恢复”时,它根本不会加载该程序。而且 Nirsoft 也没有列出有问题的 cpp 文件。

所以这意味着,除非如您所说,Eclipse 有一种明确告诉操作系统的方法,或者您专门以自定义方式读取 Eclipse,以便您可以成功读取其中打开的文件,否则可能无法在代码中执行此操作。

听起来好像没有绝对的解决方案。不过我猜 Eclipse 本质上似乎会跨程序会话保留其打开的文件,因此您只需记下 eclipse.exe(不带“文件打开”附加项),例如 firefox.exe 或 chrome 等。

但无论如何,我还有更多坏消息——我第一次尝试使用 twinsplay 恢复 Outlook(总共三个窗口,一个收件箱窗口和两个联系人窗口),在尝试恢复 Outlook 时出现 Windows 错误:“无法启动 Microsoft Outlook。命令行参数无效。请验证您正在使用的开关”。

我认为 Twinsplay 的方法是基于文件打开的,如果它没有正确地记录命令行中附加到该窗口程序路径的文件/参数以进行恢复,那么事情就会出错。Twinsplay 显然使用了一种粗糙而基本的记录方法,这种方法对大多数程序都有效,但对其他几个程序无效,而且有数百万个程序。所以我认为最好还是手动保存我的会话。

我的意思是,当然,你可以训练一个定制的工具,只在必要时用适当的开关记录 outlook.exe,或者为 Eclipse 做这样或那样的事情,但那里有数百万个程序。所以我认为根本没有自动的通用解决方案。

有什么见解吗?我仍然有兴趣找到在保存 Windows 会话然后在重新启动时恢复它的场景中节省时间的快捷方式。所以我需要知道如何twinsplay 记录了 1. 程序的文件路径,以及 2. 打开的文件的文件路径(如适用)。任务管理器的应用程序选项卡中列出的所有窗口。这就是我想要的,因为这样可以节省时间,不必手动逐个复制所有文件路径。如果必须编译,我想发现此代码并将其转换为我自己的批处理/exe。我可以手动编辑任何我知道错误的内容,例如它记录了 Outlook 的参数。

谢谢

答案1

有一个基本的应用程序可以完成您想要的部分功能(不是全部),它被称为“缓存我的工作”,标语为“重启后重新打开您的应用程序”。

它在 CodePlex 上:http://cachemywork.codeplex.com/

以下是YouTube 上的功能和一个LifeHacker 也发帖

相关内容