我在桌面上有一个名为test
的文件夹。我想创建一个批处理文件,以便在使用Windows资源管理器打开此文件夹时自动关闭窗口。我尝试了下面的命令,但执行后没有任何反应。
TASKKILL /F /FI "WINDOWTITLE eq test" /IM explorer.exe
显示的消息是:
No tasks running with the specified criteria.
需要帮忙吗?
我在桌面上有一个名为test
的文件夹。我想创建一个批处理文件,以便在使用Windows资源管理器打开此文件夹时自动关闭窗口。我尝试了下面的命令,但执行后没有任何反应。
TASKKILL /F /FI "WINDOWTITLE eq test" /IM explorer.exe
No tasks running with the specified criteria.
需要帮忙吗?
如果在Windows注册表中,无法使用命令taskkill
关闭文件夹的Windows资源管理器窗口。
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced
双词SeparateProcess分别具有值0,选项在文件夹选项的视图选项卡中未被选中。
正如foxidrive所发现的(请阅读下面的评论),我也可以证实,在Windows XP SP3上启用此设置对打开文件夹时运行的explorer.exe
数量没有影响,即使重启Windows也是如此。
因此,这取决于Windows版本(2000、XP、Vista、7、8、8.1)和文件夹选项:
如果可能的话,是否可以使用命令taskkill
关闭资源管理器文件夹窗口,以及要在标题栏中查找哪个字符串,只是文件夹名称还是完整路径。
explorer.exe
进程数始终只有1个。每个文件夹窗口实际上只是一个始终在运行的Windows资源管理器(桌面),在单独的线程中打开。Windows资源管理器只是在Windows任务栏和Windows任务管理器的“应用程序”选项卡上模拟文件夹窗口是一个单独的任务。但即使打开多个文件夹窗口,“进程”选项卡上也只列出一个explorer.exe
。WM_CLOSE
事件消息。请参见以下示例:
当在“文件夹选项”下启用标题中的完整路径显示时,错误结果会出现。
您可以将“test”替换为完整路径,或者禁用完整路径显示。
默认情况下,资源管理器作为单个进程运行,任何打开的窗口都只是该进程的一个线程。
通常,要关闭程序,您需要向该进程发送关闭消息。 在这种情况下,关闭explorer.exe将关闭所有资源管理器窗口。
要关闭单个窗口,您需要通过其自己的进程打开每个窗口。 可以通过注册表设置或在“视图”->“选项”->“查看”->“高级设置”下启用来完成此操作:“启动…单独的进程”
a)找到您想要关闭的窗口的PID(进程ID)。
通过任务管理器:
1. 在进程列表中,单击“Windows资源管理器”左侧的箭头
2. 检查窗口名称是否与您要关闭的窗口匹配
3. 右键单击“Windows资源管理器”,单击“转到详细信息”
4. 记录pid
通过CMD:
tasklist /V /FI "IMAGENAME eq explorer.exe"
如果每个资源管理器窗口都在自己的进程中打开,则上述命令将在最后一列显示窗口标题。
否则将显示“N/A”。
所有资源管理器窗口的pid都相同。Explorer.exe进程有自己的pid和标题“N/A”
如果已启用“单独进程”,例如通过文件夹视图选项,则可以通过任务终止的进程ID和过滤选项关闭每个窗口。
要关闭,必须先激活所需的窗口,否则使用pid关闭将关闭最后一个活动窗口,或者使用窗口标题过滤器关闭将出现错误:
INFO:未使用指定标准运行的任务。
b)taskkill /pid <pid>
将关闭最后一个活动窗口。
重复此命令将下一个窗口。
或者taskkill /im explorer.exe /fi "windowtitle eq <window name>"
或者taskkill /fi "IMAGENAME eq explorer.exe" /fi "windowtitle eq <window name>"
<窗口名称>不区分大小写
如果在文件夹视图中启用了标题栏的完整路径,则包括完整路径或通配符。
关闭所有资源管理器窗口:
taskkill /im explorer.exe
在Win 10上测试通过
这在设置为“单窗口”的资源管理器文件夹选项
下适用于Windows 8.1
,但根据Mofi的答案和评论,解决方案取决于Windows版本。
在Windows XP中不起作用。
TASKKILL /F /FI "WINDOWTITLE eq %userprofile%\desktop\test" /IM explorer.exe
explorer.exe
,然后启动explorer c:\folder
并重复您的任务列表命令。您会发现列出了两个具有不同PID的explorer.exe
。 - foxidriveexplorer.exe
的新实例,或者在已运行的Explorer实例的线程中打开文件夹窗口。我已经在互联网上搜索了Explorer不同行为的解释,但目前还没有找到任何东西。有一个设置可以控制标题栏中显示的内容-完整路径或只是文件夹名称,但是在我的计算机上,taskkill
无论如何都失败了。 - Mofi