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


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

Wenn Sie beispielsweise versuchen, einen Ordner zu löschen, meldet Windows dies:

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

Das Gleiche passiert mit einer Datei, aber wie finde ich heraus, welches Programm oder welche Anwendung es gerade benutzt und verhindert, dass ich die Datei oder den Ordner lösche?


514
2018-03-09 14:05


Ursprung


Sehen Diese ServerFault-Frage. - John Fouhy
Duplikat: superuser.com/questions/13291/how-doi-i-delete-a-locked-file - heavyd
Ist deine Datei ein Video? Sie können feststellen, dass Windows Explorer selbst die Datei "verwendet" ... - DisgruntledGoat
Wie ist das ein Duplikat? Er ist speziell fragen, wie man herausfinden kann, welcher Prozess eine Datei sperrt, und nicht, wie man eine gesperrte Datei löscht. - b1nary.atr0phy
Ich kann hier keine eingebaute, einfachere Antwort hinzufügen, weil sie fälschlicherweise als Täuschung markiert wurde, und ich kann sie auch nicht zum anderen Thread hinzufügen, da dies nur für XP gilt. Wie auch immer, gehen Sie für Windows-Versionen mit Ressourcenmonitor (geben Sie es in die Suchleiste ein) auf die Registerkarte CPU / Associated Handles und suchen Sie nach der Datei oder dem Ordner. - jontyc


Antworten:


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
}

Mehr Details Wie finde ich heraus, welcher Prozess eine Datei oder einen Ordner in Windows sperrt?


34
2018-04-26 02:59



Aus irgendeinem Grund gab dies nur eine leere Zeichenfolge für mich zurück. Ich habe PS ISE auch im Administratormodus ausgeführt. - Dib
Die Funktion muss zuerst mit aktiviert werden openfiles /local on - mstrange
Unglücklicherweise, openfiles scheint auf einem 64-Bit-Windows nicht zu funktionieren: ERROR: The target system must be running a 32 bit OS. - Thomas S.
Funktioniert auf Win10 64 für mich - Michael
Das Ausführen hat mir den gleichen Zugriff verweigert wie ich ursprünglich bekommen habe, und dann immer die Fehlermeldung "Existiert nicht vorhanden" ausgedruckt. Die folgende Antwort gab mir jedoch die Informationen, die ich brauchte - IIS sperrte das Verzeichnis, das ich ändern musste. - Chris Thompson


Für Windows 7, 8 und 10 können Sie das eingebaute verwenden Ressourcenmonitor dafür.

  1. Öffnen Ressourcenmonitor, die gefunden werden können
    • Auf der Suche nach resmon.exe im Startmenü oder
    • Als ein Knopf auf der Performance Tab in Ihrem Taskmanager
  2. Öffne das Zentralprozessor Registerkarte und verwenden Sie das Suchfeld in der Zugehörige Griffe Sektion
    • Auf den blauen Pfeil im Screenshot unten gezeigt

Wenn es nicht offensichtlich ist, wenn Sie das Handle gefunden haben, können Sie den Prozess identifizieren, indem Sie auf die Spalte Bild und / oder PID schauen.

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

Resource Monitor screenshot


426
2017-09-10 11:43



Hinweis: Der Ressourcenmonitor hat in meinem Fall keine zugeordneten Handles gefunden, während Process Explorer (als oben beschrieben) tat. - ComFreek
@ComFreek Nun, ProcessExplorer könnte in vielen Fällen leistungsfähiger sein, aber für mich hat Resource Monitor immer die Anwendung gefunden, die die Datei sperrt, mit der ich versuche etwas zu tun. Ich bevorzuge es auch, Explorer zu verarbeiten, einfach weil es direkt im Betriebssystem ist. Keine Notwendigkeit für einen zusätzlichen Download und eine zusätzliche Verknüpfung irgendwo. - Svish
Ich konnte dies nicht im Prozess-Explorer finden, aber es war mit diesen Anweisungen im Ressourcen-Manager leicht zu finden. Vielen Dank. - Tatiana Racheva
@ComFreek In meinem Fall war es nur der andere Fall: Process Explorer fand das Handle nicht, während Resource Monitor dies tat. - Uwe Keim
+1 - das funktioniert auch gut unter Windows 10 - Matt Innes


Ein paar Optionen:

Microsoft / SysInternals Prozess-Explorer - Gehen Sie zu Suchen> Handle oder DLL finden. Geben Sie in das Textfeld "Handle oder DLL-Teilstring:" den Pfad zur Datei ein (z. B. "C: \ Pfad \ zu \ Datei.txt") und klicken Sie auf "Suchen". Alle Prozesse, die ein offenes Handle für diese Datei haben, sollten aufgelistet werden.

WhoLockMe - Explorer Erweiterung, die eine Rechtsklick-Menüoption hinzufügt

N.B. WhoLockMe scheint mit Win 10 nicht zu funktionieren (zumindest konnte ich es nicht mit einer der 32- oder 64-Bit-Versionen von regsvr32.exe registrieren).


366
2018-03-09 14:22



Wenn Sie in Windows 7 versuchen, eine Datei zu löschen, die gesperrt ist, wird Ihnen die Fehlermeldung angezeigt, in welchem ​​Prozess sie gesperrt wurde - Garry English
HINWEIS: Unlocker installiert Adware, wenn Sie nicht vorsichtig sind. Auf ihrer Website: "Promotional Feature: Vollständig optional Delta-Toolbar." - Julian Knight
@GarryEnglish Aus irgendeinem Grund ist dies nicht immer der Fall. Ich musste nur procexp benutzen, um mir zu sagen, dass notepad ++ eine Sperre für einen Ordner hatte. Windows 7 konnte mir den Schuldigen nicht sagen. - GuiSim
@ jpmc26 Nein. WhoLockMe funktioniert nicht unter Windows 7. - ceving
@ GarryEnglish- Wie von GuiSim gesagt, ist dies sicher nicht immer der Fall, und nach meiner Erfahrung ist es selten der Fall. - dgo


Schau es dir an Process Explorer (procexp.exe).

Von seiner Einführung:

Haben Sie sich jemals gefragt, welches Programm eine bestimmte Datei oder ein bestimmtes Verzeichnis geöffnet hat? Jetzt können Sie es herausfinden.

Gehen Sie folgendermaßen vor um herauszufinden, welcher Prozess eine bestimmte Datei verwendet:

  1. Gehe zu Finden, Find Handle oder DLL .. oder einfach drücken Strg+F.

    Enter image description here

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

    Enter image description here

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

    Enter image description here

  4. Optional können Sie den Griff dann auch manuell durch die untere Scheibe schließen (Strg+L):

    Enter image description here


175
2018-03-12 03:35



Process Hacker kann es auch tun. - Benoit
Wie eine andere Antwort erwähnt, Griff ist ein Kommandozeilen-Tool von SysInternals, das diese Aufgabe ebenfalls erledigt. - heavyd
Ich habe einen CMD-Prozess im Ordner vergessen, proces explorer hat mir geholfen, es zu bemerken. - davejal
Hinweis für Google-Mitarbeiter, die aktuelle Version von PE scheint nicht mehr zu unterstützen Griff schließen - MickyD


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

Es ist ein kostenloses Tool zum Löschen von Dateien, die von etwas blockiert werden, das Sie nicht kennen. LockHunter ist nützlich für den Kampf gegen Malware und andere Programme, die Dateien ohne Grund blockieren. Im Gegensatz zu anderen ähnlichen Tools löscht es Dateien in den Papierkorb, so dass Sie sie 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 es, den Sperrvorgang zu beenden
  • Ermöglicht das Entfernen von Sperrprozessen von der Festplatte
  • Integriert in das Explorer-Menü
  • Es löscht Dateien in den Papierkorb, sodass Sie sie wiederherstellen können, wenn sie versehentlich gelöscht werden
  • Unterstützt sowohl 32 als auch 64 Bit Windows

19
2018-03-13 22:06



Die ersten beiden Antworten funktionierten nicht, und die nächsten Uploads wurden entweder von meiner Firewall blockiert oder davor gewarnt, zu meinem Chrom zu gehen! LockHunter hat perfekt funktioniert. - user3885927
Luck Hunter hat für mich gearbeitet, wenn andere nicht - SheldonH


EMCO UnlockIT kann den Prozess, der die Datei gesperrt hat, identifizieren und die Datei entsperren, sodass Sie sie löschen / bearbeiten / verschieben können. Das Programm ist völlig kostenlos, obwohl die neuere Version ein bisschen langsamer und aufgeblähter ist als das Original (das eine einfache, nicht gehäutete GUI hatte, aber ziemlich sofort und ohne einen lästigen Begrüßungsbildschirm geladen wurde). Außerdem wird die Originalversion immer dann automatisch aufgerufen, wenn der von Ihnen erwähnte Fehler ausgelöst wird. Dadurch können Sie die Datei sofort entsperren und den von Ihnen versuchten Vorgang 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 Standard-Toolkits von Dienstprogrammen, die ich auf allen Windows-Computern installiere, an denen ich arbeite.


9
2018-03-12 03:37



@ John: Nun, es identifiziert das Programm, das eine Datei gesperrt hat. Und Sie können den Prozess weiterhin manuell über den Task-Manager beenden. Es ist jedoch normalerweise einfacher, die Datei nur zu entsperren (insbesondere wenn der Explorer die Datei die meiste Zeit gesperrt hat), anstatt den Prozess zu beenden, der sie gesperrt hat (normalerweise, weil auf die Datei zugegriffen wurde und der Dateihandler geöffnet war) aufgrund eines Programmfehlers). - Lèse majesté


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

Offenbar hinterlässt dieser Backup-Prozess genug von einer "ghost like file". Diese "geisterhafte Datei" würde immer dann erscheinen, wenn ich ALT-TAB auf meinem Computer (Windows Professional XP) hätte, d. H. Ich würde ZWEI MS Excel-Programme laufen sehen, wenn ich nur EINES sichtbar hatte, auf meiner TASK BAR.

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

kann nicht gelöscht werden (LARGE.xls-Datei): Es wird von einer anderen Person oder einem anderen Programm verwendet. Schließen Sie alle Programme, die diese Datei möglicherweise verwenden, und versuchen Sie es erneut.

Ich sah später die Memeo Ankündigung von "Synchronisierung" und beenden Sie das Programm.

Anschließend KEIN FEHLER.

Für Sie könnte es jeder dieser Hintergrund speichert.


2
2017-10-13 09:43