本线程中提供的扩展脚本备份/恢复当前打开的 Windows 资源管理器窗口似乎不支持带有国家字符(如“æøåäöü”等)的文件名。文件名存储时不带重音符号和变体,如“aoaaou”。
剧本的核心部分似乎是:
FOR /F "tokens=1-6 delims=/: " %%G IN ("%DATE% %TIME%") DO (
SET "currentDate=%%I%%H%%G%%J%%K"
)
set "filename=windows_explorer_restore_session_%currentDate%%docTitle%.bat"
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 >> %filename%) ELSE ( ECHO start /min "" "%%~f" >> %filename%)
)
我怀疑问题发生在将 Powershell 请求的结果转换为批处理文件变量时
此外,自从写完答案后,Explorer 现在支持选项卡。因此,与其将每个文件夹作为单独的窗口打开,不如恢复与运行脚本时完全相同的窗口,其中一些窗口将包含多个选项卡。
我该如何修改脚本来支持这一点?