2014-07-23 132 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" 
相關問題