Wie lösche ich einen Ordner, der gerade verwendet wird?

308423
Factor Mystic

Wenn ich unter Windows arbeite, bekomme ich manchmal die folgende Aufforderung, wenn ich versuche, ein Verzeichnis zu löschen:

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

Der Ordner ist jedoch überhaupt nicht "in Verwendung" und ich habe ihn nicht geöffnet. Wie kann ich es also vor einem Neustart löschen?

117
Ich finde, dass dies am häufigsten bei der Arbeit mit Outlook- und .msg-Dateien auftritt. In diesem Fall wird beim Schließen von Outlook der Fehler "Folder In Use" beendet. Siehe auch [Diskussion zu dieser Microsoft Community-Frage] (http://answers.microsoft.com/de-de/windows/forum/windows_7-files/in-windows-7-getting-error-the-action-cant-be / 449b2e05-8ed0-4a72-98bd-dde430d27e10? Auth = 1). Air vor 8 Jahren 1

18 Antworten auf die Frage

159
bcorso

Es gibt eine native GUI für Windows:

Start >> Alle Programme >> Zubehör >> Systemprogramme >> Ressourcenmonitor (oder Ausführen resmon.exe )

Sie können mit dem Suchfeld (rot eingekreist) nach "Associated Handles" suchen und mit der rechten Maustaste auf den Prozess klicken, den Sie beenden möchten.


Im folgenden Bild konnte ich beispielsweise mein Eclipse-Verzeichnis nicht löschen. Bei der Suche nach den mit Eclipse verknüpften Handles wurde festgestellt, dass die Datei adb.exe ein Handle für das Verzeichnis hatte. Nach dem Beenden des Adb-Prozesses konnte ich das Eclipse-Verzeichnis löschen.

Dieser Trick zeigte den Prozess, der mir Kummer bereitete :) Pure.Krome vor 9 Jahren 4
Der Ressourcenmonitor erfordert Administratoranmeldeinformationen. Air vor 8 Jahren 1
Ich habe auf meinem Desktop einen gesperrten Ordner, in dem der Ressourcenmonitor nicht verwendet wird. Naja. sirdank vor 8 Jahren 0
verschlossen? Hiermit soll der jeweilige Fehler in der Frage gelöst werden, dh "der Ordner ist in einem anderen Programm geöffnet." Ist das deine Situation? bcorso vor 8 Jahren 0
Das Problem für mich gelöst. RubenGeert vor 8 Jahren 0
FWIW, die Suche kann einige Zeit ausgeführt werden, bevor Ergebnisse gefunden werden (Minuten in meinem Fall). Cedric Reichenbach vor 6 Jahren 0
73
Marc Reside

Diese Antwort ist alt, scheint aber immer noch Verkehr zu bekommen. Wie unten erwähnt, gibt es in Windows jetzt ein eingebautes Werkzeug:

Start → Alle Programme → Zubehör → Systemprogramme → Ressourcenmonitor (oder Ausführen von resmon.exe)

Weitere Informationen erhalten Sie in den Antworten unterhalb dieser. Der Rest dieser Antwort ist nicht mehr so ​​relevant.


Mit dem Prozess-Explorer von Sysinternals können Sie die Handles und DLLs durchsuchen. Suchen Sie nach dem Verzeichnis und finden Sie heraus, welcher Prozess den Ordner verwendet.

Von dort aus haben Sie die Möglichkeit, diesen Prozess entweder herunterzufahren oder nur diesen bestimmten Dateihandle zu schließen. Stellen Sie sicher, was Sie tun, wenn Sie direkt mit dem Datei-Handle arbeiten, und stellen Sie sicher, dass es nicht von einem wichtigen Prozess verwendet wird.

Aber wie finde ich das Verzeichnis, das vom Prozess verwendet wird? Johnny_D vor 10 Jahren 2
Verwenden Sie Strg-F und geben Sie den Namen des Ordners über dem Ordner ein, den Sie löschen möchten. MikeMurko vor 9 Jahren 1
Es gibt jetzt eine native GUI für Windows, siehe meine Antwort unten. bcorso vor 9 Jahren 4
* Native GUI / integriert in / Windows (Resource Monitor) siehe unten. Jamie Pate vor 9 Jahren 3
In meinem Fall konnte Process Explorer das Handle nicht finden, aber der Ressourcenmonitor (siehe andere Antwort) war in der Lage. Bart Verkoeijen vor 8 Jahren 0
7
Brant Bobby

Beachten Sie bei der Verwendung von Tools, die das Schließen der Dateihandles erzwingen (wie beim zuvor erwähnten Unlocker ), dass dies ernsthafte Probleme verursachen kann. (Siehe diesen Artikel von Raymond Chen .) Stellen Sie sicher, dass Sie wissen, welche Anwendungen die Datei verwenden und dass keine von ihnen etwas Wichtiges tut.

Es ist sicherer, zuerst die Anwendungen herunterzufahren, anstatt den Griff einfach zu schließen.

Viel guter Artikel. Wichtig zu lesen. Pacerier vor 8 Jahren 0
7
Joe

Unlocker und WhoLockMe funktionieren nicht unter 64-Bit-Windows. Ich benutze LockHunter .

Unlocker kommt für 64-Bit-Systeme. avirk vor 11 Jahren 2
Lockhunter fand den Sperrvorgang für mich, den sowohl ProcExp als auch ResMon nicht finden konnten. Clever Human vor 6 Jahren 0
6
Robert Collier

Dieses REG-Skript gibt Ihnen ein Rechtsklick-Kontextmenüelement "Handles anzeigen", in dem das Sysinternals-Hilfsprogramm aufgerufen wird, um alle geöffneten Handles der Datei oder des Ordners anzuzeigen, auf die Sie mit der rechten Maustaste klicken .

Legen Sie die Datei handle.exe von Sysinternals an einem Speicherort ab, auf den Sie über Ihren Pfad zugreifen können.

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\"" 
Warum nicht einfach die UI-Version ProcessExplorer verwenden? Pacerier vor 8 Jahren 0
5
kpoehls

Das ist mir passiert. Manchmal kann ich das Problem beheben, indem ich zuerst den Inhalt lösche und dann den Ordner (leer).

Ja - es hat für mich funktioniert! TigerTiger vor 11 Jahren 0
@Wbdvlpr, @kpoehls, Warum sollte das funktionieren? Ich denke, es ist nur ein Mythos und Sie haben Glück. Pacerier vor 8 Jahren 0
3

Der schnellste und einfachste Ansatz ist die Verwendung von Handle, wie von slolife erwähnt, anstelle von Process Explorer. Sie sind beide von Mark Russinovich @ Microsoft.

Seien Sie nicht überrascht, dass explorer.exe der Übeltäter ist, wie ich es heute tat. Offenbar gibt es eine offizielle Möglichkeit, explorer.exe neu zu starten, aber ich scheine damit fertig zu werden, es zu töten und es im Task-Manager wieder zu starten.

2
tghw

Als ich unter XP war, habe ich mit WhoLockMe herausgefunden, welche Programme Dateien geöffnet und gesperrt hatten. Die neueste Version, die ich finden konnte, erwähnt Vista nicht, aber es wäre einen Versuch wert.

Manchmal können Sie es manuell von innen heraus löschen. Navigieren Sie in der Hierarchie ganz nach unten, löschen Sie alle Dateien, verschieben Sie ein Verzeichnis nach oben und wiederholen Sie den Vorgang. Ich weiß nicht, warum Windows das nicht selbst machen kann, aber es funktioniert manchmal für mich.

2
slolife

Ich verwende Handle von SysInternals (jetzt Microsoft). Sie können einen Teil des Ordnernamens eingeben, um zu sehen, welcher Prozess einen Handle für diesen Ordner hat, und dann den Handle zu beenden.

handle64.exe -nobanner "<path>" 

Zum Beispiel:

Befehlsausgabe von der Befehlszeile

Wie andere bereits erwähnt haben, kann das Töten des Griffs ernsthafte Probleme verursachen.

2
Synetech

Wenn Sie mit "nicht verwendet" meinen, dass keine offenen Handles vorhanden sind, stellen Sie sicher, dass der Application Experience- Dienst nicht deaktiviert ist . Wenn ja, stellen Sie es auf manuell:

Run dialog (or command prompt):  sc config AeLookupSvc start= demand