备份/恢复当前打开的 Windows 资源管理器窗口

App*_*ion 5 windows windows-explorer

我知道 Windows 中的功能允许您“在登录时恢复以前的文件夹窗口”,因为我已经在使用它了。当我处理一个大项目并同时处理 1000 万件事情时,资源管理器可能会崩溃,或者我可能必须强制重新启动资源管理器,然后我打开的所有文件夹都不会像我正常重新启动 Windows 那样自动重新打开。

我需要一种方法来备份/恢复所有当前打开的文件资源管理器文件夹窗口。我已经搜索过但一无所获。

至少,如果有一种方法可以捕获所有当前打开的文件夹的路径,那么我至少可以创建一个批处理脚本来重新打开所有这些文件夹。但我不知道有什么方法可以捕获所有当前打开的文件夹的路径。

*我发现了一个名为“Handle”的 dos 实用程序,它将显示有关系统中任何进程的打开句柄的信息。我能够创建一个批处理脚本,并使用句柄我能够输出当前打开的打开文件夹的列表,但这绝对远非理想。然后,我仍然必须获取该输出并清理它,然后从中创建另一个脚本,然后自动打开文件夹。

我确信有人一定知道一些为此特定目的而创建的实用程序。

gol*_*ck7 4

当您运行它时,它将创建一个batch名为“foldersession.bat”的新文件,当您运行该文件时,它将恢复它们。

@echo off
title create backup of currently open folder windows
setlocal enabledelayedexpansion

powershell  @^(^(New-Object -com shell.application^).Windows^(^)^).Document.Folder.Self.Path >> prevfolderpaths.txt

FOR /F "tokens=*" %%f IN (prevfolderpaths.txt) DO (

set "var=%%f"
set "firstletters=!var:~0,2!"

IF "!firstletters!" == "::" ( ECHO start /min shell:%%~f >> foldersession.bat) ELSE ( ECHO start /min "" "%%~f" >> foldersession.bat)

)

del "prevfolderpaths.txt"
Run Code Online (Sandbox Code Playgroud)

唯一的问题是,如果您想保存多个窗口会话,则必须手动重命名文件。(例如,foldersession1、foldersession2)