有时我必须重新启动 explorer.exe,但我经常打开许多文件夹,但在此过程中这些文件夹会被关闭。重新启动 explorer.exe 后,如何才能让这些文件夹保持打开状态?我还想编写一个脚本来获取当前打开的文件夹列表,但也没找到如何做到这一点。
答案1
为此,请使用此 powershell 代码:
$open_folders = @()
$shell = New-Object -ComObject Shell.Application
$shell.Windows() | Foreach {
$open_folders += $_.LocationURL
}
taskkill /f /fi "status eq not responding" >$null
Stop-Process -Name explorer -Force
explorer.exe
$open_folders | foreach {
Invoke-Item $_
}
这用于Shell.application
列出和恢复打开的文件夹并终止没有响应的进程。