Finden Sie heraus, welcher Prozess eine Datei oder einen Ordner in Windows sperrt

749889
leeand00

Wie kann ich herausfinden, welcher Prozess eine Datei oder einen Ordner in Windows sperrt?

Beim Versuch, einen Ordner zu löschen, meldet Windows beispielsweise Folgendes:

Die Aktion kann nicht abgeschlossen werden, da der Ordner in einem anderen Programm geöffnet ist

Dasselbe gilt für eine Datei. Wie erfahre ich jedoch, welches Programm oder welche Anwendung gerade verwendet wird, und hindert mich daran, die Datei oder den Ordner zu löschen?

563
Duplizieren: http://superuser.com/questions/13291/how-do-i-delete-a-locked-file heavyd vor 14 Jahren 2
Siehe [diese ServerFault-Frage] (http://serverfault.com/questions/1966/how-do-you-find-what-process-is-holding-a-file-open-in-windows/). John Fouhy vor 14 Jahren 4
Ist deine Datei ein Video? Sie stellen möglicherweise fest, dass Windows Explorer die Datei "verwendet". DisgruntledGoat vor 12 Jahren 1
Wie ist das ein Duplikat? Er fragt * insbesondere *, wie er herausfinden kann, welcher Prozess eine Datei sperrt, und nicht, wie eine gesperrte Datei gelöscht wird. b1nary.atr0phy vor 9 Jahren 26
Ich kann hier keine integrierte, einfachere Antwort hinzufügen, weil sie falsch als Dupe markiert wurde, und ich kann sie auch nicht dem anderen Thread hinzufügen, da dies nur für XP gilt. Wechseln Sie jedoch bei Windows-Versionen mit Resource Monitor (geben Sie ihn in die Suchleiste ein) auf die Registerkarte CPU / Zugeordnete Handles, und suchen Sie nach der Datei oder dem Ordner. jontyc vor 8 Jahren 8
Ich habe gelernt, dass Windows 10 (und ich denke schon in Windows 7) ein Programm namens Resource Monitor hat, mit dem Sie sehen können, welche Prozesse eine Datei oder einen Ordner sperren: http://stackoverflow.com/a/24126882/470749 Ryan vor 7 Jahren 0

9 Antworten auf die Frage

489
Svish

Für Windows 7, 8 und 10 können Sie dazu den integrierten Ressourcenmonitor verwenden .

  1. Öffnen Sie den Ressourcenmonitor, der gefunden werden kann
    • Suchen Sie nach resmon.exe im Startmenü oder
    • Als Schaltfläche auf der Registerkarte " Leistung" in Ihrem Task-Manager
  2. Öffnen Sie die Registerkarte " CPU" und verwenden Sie das Suchfeld im Abschnitt " Zugeordnete Handles "
    • Dargestellt durch blauen Pfeil im Screenshot unten

Falls es nicht offensichtlich ist, können Sie den Prozess anhand der Spalte Image und / oder PID identifizieren, wenn Sie das Handle gefunden haben.

Sie können die Anwendung dann schließen, wenn Sie dazu in der Lage sind, oder klicken Sie einfach mit der rechten Maustaste auf die Zeile und Sie haben die Möglichkeit, den Prozess direkt dort zu beenden. Kinderleicht!

Resource Monitor-Screenshot

Hinweis: Der Ressourcenmonitor hat in meinem Fall keine zugehörigen Ziehpunkte gefunden, während Process Explorer (wie oben beschrieben (http://superuser.com/a/399660/137286)) dies tat. ComFreek vor 9 Jahren 15
@ComFreek Nun, ProcessExplorer ist zwar in vielen Fällen leistungsfähiger, aber für mich hat Resource Monitor immer festgestellt, dass die Anwendung die Datei blockiert, mit der ich etwas zu tun versuche. Ich ziehe es auch dem Process Explorer vor, einfach weil es im Betriebssystem richtig ist. Kein zusätzlicher Download und irgendwo eine zusätzliche Verknüpfung erforderlich. Svish vor 9 Jahren 13
Ich konnte dies in Process Explorer nicht finden, aber es war leicht, diese Anweisungen in Resource Manager zu finden. Vielen Dank. Tatiana Racheva vor 9 Jahren 5
@ComFreek In meinem Fall war es nur der andere Fall: Process Explorer hat den Handle nicht gefunden, während Resource Monitor dies tat. Uwe Keim vor 8 Jahren 5
Ich habe versucht, den Prozess zu beenden, und es wurde mir gesagt: "Beim Ausführen des Befehls ist der folgende Systemfehler aufgetreten: Zugriff wird verweigert." Ich hatte Resource Monitor als Administrator ausgeführt. Shaun Luttin vor 8 Jahren 0
+1 - das funktioniert auch gut unter Windows 10 Matt Innes vor 7 Jahren 6
Für mich war es ein tatsächlicher Ordner, der gesperrt war. Die Suche nach dem Ordnernamen durch den Ressourcenmonitor führte zu einem Ergebnis, und nach Beendigung dieses Vorgangs wurde die folde.r-Blockierung aufgehoben joey vor 7 Jahren 0
@ComFreek Für mich war das Gegenteil der Fall. Dh der Process Explorer hat nichts gefunden, während der Resource Monitor dies tat. Ich verwende Windows 10. Miscreant vor 7 Jahren 1
Funktioniert bei mir. Da es sich bei meinem Fehler um einen Python-Fehler handelt, musste ich sicherstellen, dass die doppelten Backslashes den Window-Suchkriterien entsprechen. moondra vor 5 Jahren 0
Scheint nicht für gesperrte Ordner zu funktionieren Hack-R vor 5 Jahren 0
@Svish, was tun, wenn die Datei durch einen Prozess gesperrt ist, der auf einem anderen Computer im lokalen Netzwerk ausgeführt wird? Ant_222 vor 5 Jahren 0
@ Ant_222 Ich weiß nicht? Verbindung abbrechen? Fledermaus-Signal senden? Svish vor 5 Jahren 0
374
Shevek

A couple of options:

Microsoft/SysInternals Process Explorer - Go to Find > Find Handle or DLL. In the "Handle or DLL substring:" text box, type the path to the file (e.g. "C:\path\to\file.txt") and click "Search". All processes which have an open handle to that file should be listed.

WhoLockMe - Explorer extension which adds a right-click menu option

N.B. WhoLockMe appears to not work with Win 10 (at least I have been unable to register it with either of the 32- or 64-bit versions of regsvr32.exe).

Wenn Sie in Windows 7 versuchen, eine Datei zu löschen, die gesperrt ist, wird in der Fehlermeldung angezeigt, für welchen Prozess sie gesperrt wurde Garry English vor 11 Jahren 26
HINWEIS: Unlocker installiert Adware, wenn Sie nicht aufpassen. Von ihrer Website: "Werbefunktion: Vollständig optionale Delta-Symbolleiste." Julian Knight vor 10 Jahren 9
@GarryEnglish aus irgendeinem Grund ist dies nicht immer der Fall. Ich musste nur procexp verwenden, um mir mitzuteilen, dass Notepad ++ einen Ordner sperrte. Windows 7 konnte mir den Schuldigen nicht sagen. GuiSim vor 9 Jahren 11
WhoLockMe gibt an, dass es für Windows NT bis XP ist. Funktioniert es höher? jpmc26 vor 9 Jahren 0
@ jpmc26 Ich habe keine Ahnung .. Ich habe es nicht mehr zu Gunsten von Unlocker verwendet, der eine schönere Schnittstelle hat. Unlocker war in meiner ursprünglichen Antwort, wurde jedoch herausgeschnitten, da später Adware zum Installationsprogramm hinzugefügt wurde. Shevek vor 9 Jahren 1
@ jpmc26 Nein. WhoLockMe funktioniert nicht unter Windows 7. ceving vor 9 Jahren 4
Zu Ihrer Information, ich verwende Prozesshacker. Ich habe jetzt einen Benutzer für die Suche nach der Schaltfläche Handle gefunden! Es identifizierte ein minimiertes in das Tray-Cmd-Fenster, das ich in dem Ordner geöffnet hatte, in dem es gesperrt war. Danke für den Tipp! SheldonH vor 9 Jahren 0
Der erste Link scheint defekt zu sein und der zweite sieht nicht so aus, als würde er in Windows 10 funktionieren Serj Sagan vor 8 Jahren 0
@ GarryEnglish- Wie GuiSim feststellt, ist dies sicherlich nicht immer der Fall, und meiner Erfahrung nach ist es selten der Fall. dgo vor 8 Jahren 3
Powershell wäre schneller und weniger aufgebläht als alle diese Apps-Vorschläge. Siehe: https://beamusupscotty.wordpress.com/2012/11/14/use-powershell-to-find-out-which-process-locks-a-file / abourget vor 8 Jahren 0
@abourget - warum dann nicht als alternative Antwort hinzufügen Shevek vor 8 Jahren 1
wäre schön, wenn Sie in der Antwort auch erklärt haben, dass Wholockedme unter Windows 7 nicht funktioniert! davejal vor 7 Jahren 0
@davejal Ich habe keine Ahnung, mit welchen Betriebssystemen Wholockedme arbeitet, da ich noch nie davon gehört habe, und erwähne es nicht einmal in meiner Antwort. WhoLockMe hingegen funktioniert hervorragend mit Win7 Shevek vor 7 Jahren 0
Es ist zu beachten, dass der Process Explorer als Administrator ausgeführt werden muss. Lief es unter Windows 10 als normaler Benutzer und es funktionierte nicht. Devolus vor 6 Jahren 0
ooops! Dieser Kommentar war für eine weitere Antwort gedacht ... :) not2qubit vor 5 Jahren 0
184
Eroen

Schauen Sie sich den Process Explorer ( procexp.exe) an.

Von seiner Einführung:

Überhaupt gewundert, welches Programm eine bestimmte Datei oder ein Verzeichnis geöffnet hat? Jetzt können Sie es herausfinden.

Um herauszufinden, welcher Prozess eine bestimmte Datei verwendet, gehen Sie folgendermaßen vor:

  1. Gehen Sie zu Find, Find Handle oder DLL .. oder drücken Sie einfach Ctrl+ F.

  2. Geben Sie den Namen der Datei ein und drücken Sie Suchen .

  3. Process Explorer listet alle Prozesse auf, die einen Griff um die geöffnete Datei haben. Klicken Sie auf einen Eintrag, um den Prozess im Hauptfenster zu fokussieren.

  4. Optional können Sie den Griff auch manuell durch den unteren Bereich ( Ctrl+ L) schließen:

Process Hacker kann das auch. Benoit vor 12 Jahren 6
Wie [eine andere Antwort] (http://superuser.com/a/6614/820) erwähnt, ist [Handle] (http://technet.microsoft.com/en-us/sysinternals/bb896655.aspx) eine Befehlszeile Werkzeug von SysInternals, das auch diese Aufgabe erfüllt. heavyd vor 10 Jahren 4
Ich habe vergessen, dass ein Cmd-Prozess im Ordner geöffnet wurde. Der Proces Explorer half mir dabei. davejal vor 7 Jahren 0
Hinweis für Googlers, die aktuelle Version von PE scheint nicht mehr unterstützt zu werden. ** Close Handle ** MickyD vor 6 Jahren 0
Funktionierte in Win10 64-Bit 1709 nicht K7AAY vor 5 Jahren 0
`handle` hat nicht wie erwartet funktioniert (Win81). Reproduzieren: Öffnen Sie eine Datei in einem Editor, z. B. `nano some.py`, und versuchen Sie dann:` handle.exe -nobanner some.py`, und erhalten Sie: ** `Keine passenden Handles gefunden` **. not2qubit vor 5 Jahren 0
39
frank

PowerShell-Methode:

IF((Test-Path -Path $FileOrFolderPath) -eq $false) { Write-Warning "File or directory does not exist."  } Else { $LockingProcess = CMD /C "openfiles /query /fo table | find /I ""$FileOrFolderPath""" Write-Host $LockingProcess } 

Der openfilesBefehl muss die Unterstützung für lokale Dateien aktiviert haben, indem er ausgeführt openfiles /local onund neu gestartet wird.

Weitere Informationen So erfahren Sie, welcher Prozess eine Datei oder einen Ordner in Windows sperrt

Aus irgendeinem Grund hat dies nur eine leere Zeichenfolge für mich zurückgegeben. Ich habe PS ISE auch im Administratormodus ausgeführt. Dib vor 6 Jahren 0
Die Funktion muss zuerst mit `openfiles / local on` aktiviert werden mstrange vor 6 Jahren 8
Leider funktioniert "openfiles" auf einem 64-Bit-Windows nicht: `FEHLER: Auf dem Zielsystem muss ein 32-Bit-Betriebssystem ausgeführt werden." Thomas S. vor 6 Jahren 4
Funktioniert unter Win10 64 für mich Michael vor 6 Jahren 0
Das Ausführen dieses Befehls gab mir den gleichen Zugriff wurde verweigert. Fehler, den ich ursprünglich erhalten hatte, und dann immer die Fehlermeldung "Nicht vorhanden" ausgedruckt. Die folgende Antwort gab mir jedoch die Informationen, die ich brauchte - IIS sperrte das Verzeichnis, das ich ändern musste. Chris Thompson vor 5 Jahren 0
Es sieht so aus, als könnten Sie es im Prinzip in pure cmd mit ʻopenfiles / query / fo table | erreichen finde / ich ""`? mwfearnley vor 5 Jahren 0
23
Mehper C. Palavuzlar

LockHunter kann alle Handler freischalten, die Ihre Dateien oder Ordner gesperrt haben. Im Gegensatz zu ähnlichen Freeware-Versionen werden sowohl 32- als auch 64-Bit-Windows unterstützt.

Es ist ein kostenloses Tool zum Löschen von Dateien, die von etwas blockiert wurden, das Sie nicht kennen. LockHunter ist nützlich, um gegen Malware und andere Programme zu kämpfen, die Dateien ohne Grund blockieren. Im Gegensatz zu anderen ähnlichen Tools werden Dateien im Papierkorb gelöscht, sodass Sie sie möglicherweise wiederherstellen können, wenn sie versehentlich gelöscht werden.

  • Zeigt Prozesse an, die eine Datei oder einen Ordner sperren
  • Ermöglicht das Entsperren, Löschen, Kopieren oder Umbenennen einer gesperrten Datei
  • Erlaubt das Sperren zu beenden
  • Ermöglicht das Entfernen von Sperrvorgängen von der Festplatte
  • Integriert in das Explorer-Menü
  • Es löscht Dateien im Papierkorb. Sie können sie also wiederherstellen, wenn sie versehentlich gelöscht werden
  • Unterstützt sowohl 32- als auch 64-Bit-Windows
Die ersten beiden Antworten haben nicht funktioniert, und die nächsten, die zu den positiveren Ergebnissen geführt haben, wurden entweder von meiner Firewall blockiert oder von meinem Chrome gewarnt. LockHunter hat perfekt funktioniert. user3885927 vor 7 Jahren 2
Glücksjäger hat für mich gearbeitet, wenn andere es nicht getan haben SheldonH vor 7 Jahren 1
10
Lèse majesté

EMCO UnlockIT kann den Prozess identifizieren, der die Datei gesperrt hat, sowie die Datei entsperren, damit Sie sie löschen, bearbeiten oder verschieben können. Das Programm ist komplett kostenlos, obwohl die neuere Version etwas langsamer und aufgeblähter ist als das Original (das eine einfache, nicht gekörnte GUI hatte, aber ziemlich sofort und ohne störenden Begrüßungsbildschirm geladen wurde). Außerdem wurde die ursprüngliche Version automatisch aufgerufen, wenn der von Ihnen erwähnte Fehler ausgelöst wurde. Dadurch können Sie die Datei sofort entsperren und die von Ihnen versuchte Operation ausführen.

Dennoch ist UnlockIT ein unglaublich nützliches Programm, das eine grundlegende Funktionalität bietet, die in Windows kritisch fehlt. Es gehört zu den Standardwerkzeugen der Dienstprogramme, die ich auf allen Windows-Computern installiere, auf denen ich arbeite.

@ John: Nun, es identifiziert das Programm, das eine Datei gesperrt hat. Sie können den Prozess weiterhin manuell über den Task-Manager beenden. In der Regel ist es jedoch einfacher, die Datei zu entsperren (insbesondere wenn der Explorer die Datei meistens gesperrt hat), anstatt den Prozess zu beenden, der die Datei gesperrt hat (normalerweise, weil auf die Datei zugegriffen wurde und der Dateihandler geöffnet war wegen einer Programmstörung). Lèse majesté vor 12 Jahren 0
2
formerly frustrated excel user

Hier war meine Entdeckung und Lösung.

Übrigens hat keine der obigen Antworten mein Problem gelöst.

Ich habe sogar versucht, UNLOCKER zu verwenden, was sich als wertlos erwies.

Mein Problem war das von Memeo Autosync Backup

Anscheinend hinterlässt dieser Sicherungsvorgang genug "Geisterbilder". Diese "geisterhafte Datei" tauchte immer dann auf, wenn ich meinen Computer ALT-TAB (Windows Professional XP) verwenden würde, dh ich würde ZWEI MS-Excel-Programme auf meiner Taskleiste sehen, wenn ich nur ein sichtbares Programm hatte.

Ich bin auf diese Lösung gestoßen, als ich dachte, es könnte der SYMANTEC Endpoint (Anti-Virus) -Schutz gewesen sein. und deaktiviert das Programm. Ich habe jedoch immer die Fehlermeldung erhalten:

kann nicht löschen (Datei LARGE.xls): Sie wird von einer anderen Person oder einem anderen Programm verwendet. Schließen Sie alle Programme, die diese Datei verwenden, und versuchen Sie es erneut.

In der Folge sah ich immer wieder die Memeo-Benachrichtigung über "Synchronisieren" und das Programm BEENDEN.

Anschließend KEIN FEHLER.

Für Sie könnte es JEDE dieser Hintergründe sein.

2
Rajesh

If you do not know the program the file it is using then you can go to My Computer; right click; select Manage. Under System Tools > Shared folders > Open Files, you should be able to see the user who has locked the file. You can close file from here and then you can perform the task of rename or delete the file. Hope this helps

Dies funktioniert nur für freigegebene Ordner. sweetfa vor 10 Jahren 1
1
Stu

Zusätzliche Möglichkeit, um den Leuten die Zeit zu sparen, die ich gerade verbracht habe:

In älteren Windows-Versionen erhalten Sie möglicherweise "Zugriff verweigert - Sie haben möglicherweise keine Rechte oder die Datei wird möglicherweise verwendet". Wenn Sie über Process Explorer feststellen, dass die Dateien tatsächlich von niemandem geöffnet werden, besteht ein großer Unterschied, dass ein Problem mit der Sicherheit vorliegt. Wählen Sie mit einem Administratorkonto die Dateien im Explorer aus, klicken Sie mit der rechten Maustaste und wählen Sie Eigenschaften, Sicherheit, Erweitert, Eigentümer. Die Chancen sind, dass die Dateien im Besitz eines Kontos sind, das nicht mehr existiert oder nicht mehr überprüft werden kann (aufgrund der Änderung der Active Directory-Vertrauenseinstellungen).

Wechseln Sie das Eigentum an Administratoren, und Sie können loslegen.