2014-07-23 95 views
3

我的桌面上有一个名为test的文件夹。我想创建一个批处理文件,以便在使用Windows资源管理器打开此文件夹时自动关闭窗口。我试了下命令,但没有发生对用批处理文件关闭文件夹的窗口

TASKKILL /F /FI "WINDOWTITLE eq test" /IM explorer.exe 

执行所显示的信息是

No tasks running with the specified criteria. 

任何帮助吗?

+0

感谢Mofi的帮助 – xarlap

回答

3

这是不可能收在Windows注册表中使用命令taskkill如果一个文件夹的Windows资源管理器窗口下

HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced 

双字SeparateProcess具有值分别选项在单独的进程中启动文件夹窗口 on 查看选项卡的Folder Options未被选中。

而作为发现(阅读下面的评论),我还可以确认foxidrive,启用此设置对基于Windows XP SP3上甚至是Windows的重新启动后打开文件夹运行explorer.exe数量没有影响。

因此它依赖于Windows(2000,XP,Vista中,7,8,8.1)的版本和文件夹选项

  • 显示在标题栏中的完整路径
  • 在单独的进程中启动文件夹窗口

如果完全可以使用命令taskkill t o关闭资源管理器文件夹窗口以及在标题栏中查找哪个字符串,只需指定文件夹的名称或文件夹的完整路径。

在Windows XP上或与在单独的进程中启动文件夹窗口未启用文件夹窗口不作为单独的任务分别作为单独的进程打开。

独立于打开多少个文件夹窗口,每个用户的explorer.exe进程数始终为1.每个文件夹窗口实际上只是一个始终运行的Windows资源管理器(桌面)在单独线程中打开的窗口。 Windows资源管理器只是假装文件夹窗口是Windows任务栏上的一个单独任务,并且在Windows任务管理器的应用程序选项卡上。但只有一个explorer.exe被列在进程即使打开了多个文件夹窗口,Windows任务管理器的标签。

Windows资源管理器的这种行为可以更好地与免费工具Process Explorer中选择Explorer.exe的观看较低的窗格中的Sysinternals看着处理很多其他的手柄中含有也在这个过程中打开的文件夹窗口的句柄。

控制台应用程序需要按标题查找窗口,获取此窗口的句柄并将WM_CLOSE事件消息发送到此文件夹窗口。例如见

+0

这是不正确的,当我测试它。使用'explorer.exe'任务列表和过滤器,然后启动'explorer c:\ folder'并重复您的taslisk命令。你会发现'两''explorer.exe列出不同'PID' – foxidrive

+0

是的,我看到你的评论,并尝试发布的命令。但它不适用于Windows XP SP3。它看起来像取决于Windows版本或设置,如果在打开新文件夹窗口时启动了一个新的'explorer.exe'实例,或者在已经运行的资源管理器实例的线程中打开了文件夹窗口。我已经在WWW中搜索了关于Explorer的不同行为的解释,但到目前为止还找不到任何东西。有一个设置可以控制标题栏中显示的内容 - 完整路径或文件夹名称,但任何情况下,我的计算机上的taskkill都失败。 – Mofi

+0

我在Windows 8.1上测试了这两个版本,并且我知道某些版本的Windows需要额外的空间 - 一个bug。 – foxidrive

0

这个作品在Windows 8.1explorer folder options设置为single window,但在渔业部的回答,答案由渔业部和评论,然后解决方案依赖于Windows版本

Windows 8.1中的哪些功能在Windows XP中无效。

TASKKILL /F /FI "WINDOWTITLE eq %userprofile%\desktop\test" /IM explorer.exe 
+0

不,这不起作用。 – xarlap

+0

我试图把完整的路径,但这两个都不正确 – xarlap

+0

它在Windows 8.1的作品,但从Mofi的回答和意见,Windows版本是重要的知道。 – foxidrive

1

我找到了解决办法here对XP SP 3行之有效所有你需要的是小工具NirCmd

nircmd.exe win close title "some window title" 
相关问题