題 如何刪除正在使用的文件夾?


有時當我在Windows中工作時,我會在嘗試刪除目錄時收到此提示:

Folder In Use
The action can't be completed because the folder is open in another program
Close the folder and try again.

但是,該文件夾根本沒有“正在使用”,我沒有打開它。那麼如何在沒有重啟的情況下刪除它呢?


117
2017-07-15 17:15


起源


我發現在使用Outlook和.msg文件時最常出現這種情況,在這種情況下,關閉Outlook會停止“正在使用的文件夾”錯誤。也可以看看 有關此Microsoft社區問題的討論。 - Air


答案:


這個答案很老,但似乎仍然有流量。如下所述,Windows中有一個內置工具:

開始→所有程序→附件→系統工具→資源監視器(或運行resmon.exe)

您可以在下面的答案中獲得更多信息。這個答案的其餘部分不再具有相關性。


Process Explorer 從Sysinternals將允許您搜索句柄和DLL。搜索目錄並找出正在“使用”該文件夾的進程。

從那裡,您可以關閉該進程,或者只關閉該特定文件句柄。確保直接使用文件句柄時您正在做什麼,並確保它不被某些重要過程使用。


73
2017-07-15 17:19



但是我如何找到進程使用的目錄? - Johnny_D
使用Ctrl-F並輸入您要刪除的文件夾上方的文件夾名稱。 - MikeMurko
現在有一個Windows的原生GUI,請參閱下面的答案。 - bcorso
*原生GUI /內置/ Windows(資源監視器)見下文。 - Jamie Pate
就我而言,Process Explorer無法找到句柄,但資源監視器(參見其他答案)是有能力的。 - Bart Verkoeijen


Windows有一個原生GUI:

開始>>所有程序>>附件>>系統工具>>資源監視器 (要么   resmon.exe

您可以使用搜索框搜索“關聯的句柄”(用紅色圈出),然後右鍵單擊要結束的過程。


例如,在下圖中我無法刪除我的Eclipse目錄。搜索Eclipse關聯的句柄顯示adb.exe具有該目錄的句柄。在結束adb進程之後,我可以刪除Eclipse目錄。

enter image description here


159
2018-06-27 20:36



這個技巧凸顯了讓我悲傷的過程:) - Pure.Krome
資源監視器需要管理員憑據 - Air
我的桌面上有一個鎖定的文件夾,資源監視器沒有列出正在使用的文件夾。那好吧。 - sirdank
鎖定?這是為了解決問題中的特定錯誤,即“文件夾在另一個程序中打開”。這是你的情況嗎? - bcorso
解決了我的問題。 - RubenGeert


Unlocker和WhoLockMe無法在64位Windows上運行。我用 LockHunter


7
2017-12-10 21:49



Unlocker適用於64位系統。 - avirk
lockhunter找到了我的鎖定過程,ProcExp和ResMon都找不到。 - Clever Human


使用強製文件句柄關閉的工具時(如前面提到的那樣) 解鎖),請記住,這樣做可能會導致嚴重的問題。 (看到 雷蒙德陳的這篇文章。)確保你知道 哪一個 應用程序正在使用該文件,並且它們都沒有做任何重要的事情。

嘗試首先關閉應用程序而不是僅強制關閉句柄更安全。


7
2017-07-15 17:23



方式好文章。重要的讀物。 - Pacerier


這個REG腳本將為您提供一個“視圖句柄”右鍵單擊上下文菜單項,它將調用 Sysinternals處理實用程序 查看右鍵單擊的文件或文件夾的所有打開句柄。

將來自Sysinternals的handle.exe放入可從您的路徑訪問的位置。

Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\AllFilesystemObjects\shell\Handle]
@="View &Handles"

[HKEY_CLASSES_ROOT\AllFilesystemObjects\shell\Handle\command]
@="cmd.exe /k handle -a -u \"%1\""

6
2017-11-28 16:28



為什麼不使用UI版本ProcessExplorer? - Pacerier


我曾經遇到過這種情況。有時我可以通過先刪除內容然後刪除文件夾(空)來解決問題。


5
2017-07-15 17:17



是的 - 它對我有用! - TigerTiger
@Wbdvlpr,@ kpoehls,為什麼會這樣?我認為這只是一個神話,你碰巧很幸運。 - Pacerier


最快捷,最簡單的方法就是使用 處理,正如slolife所提到的,而不是使用Process Explorer。他們都來自Mark Russinovich @ Microsoft。

不要驚訝於發現explorer.exe是罪魁禍首,正如我今天所做的那樣。顯然有一個 官方方式 重新啟動explorer.exe,但我似乎正在逃避它並在任務管理器中再次啟動它。


3
2017-12-10 20:37





當我在XP上使用時 WhoLockMe 找出哪些程序打開並鎖定了文件。我能找到的最新版本沒有提到Vista,但它值得一試。

有時,您可以手動從內到外刪除它。只需在層次結構中一直向下導航,刪除所有文件,向上移動目錄,然後重複。不知道為什麼Windows本身不能這樣做,但它有時適合我。


2
2017-07-15 17:19





如果“不使用”,你的意思是沒有打開手柄,那麼請確保 應用經驗 服務 沒有禁用。如果是這樣,請將其設置為手動:

Run dialog (or command prompt):

  sc config AeLookupSvc start= demand

2
2018-02-24 06:41





為了刪除一個文件夾/程序,說明你無法刪除它,因為它在其他地方打開。

  • 單擊開始按鈕
  • 鍵入Taskmgr
  • 在打開的新窗口中,在“處理”選項卡下,查找您要刪除的文件夾/程序。
  • 右鍵單擊它並結束任務
  • 返回文件夾/程序位置,您現在應該可以刪除它

2
2017-12-09 05:21





我用 處理 來自SysInternals(現為微軟)。您可以鍵入文件夾名稱的一部分,以查看哪個進程在該文件夾上具有句柄,然後終止句柄。

handle64.exe -nobanner "<path>"

例如:

command output from commandline

像其他人提到的那樣,殺死手柄會導致嚴重的問題。


2
2017-07-15 17:33