Hin und wieder hatte ich im Support den Fall, dass sich Dateien nicht löschen ließen obwohl scheinbar kein Benutzer Zugriff darauf hatte. Es erschien eine Meldung die Datei sei noch im Zugriff.
Wie man solche Dateien löschen kann zeig ich in diesem Beitrag.
Man sollte diese Methode aber vorsichtig anwenden, da es zu Datenverlust kommen kann.
Ich verwende dazu zwei Tools von Sysinternals: pskill.exe und procexp.exe. Diese Tools kann man hier herunterladen.
Die Vorgehensweise ist wie folgt: Man kann die Datei nicht löschen, weil ein Prozess einen sog. Handle erstellt, der das Löschen verhindert. Wir versuchen nun den Prozess zu löschen und können anschließend die Datei löschen.
Also, zur Demonstration habe ich eine Word Datei namens “Meine Testdatei.docx” auf dem Desktop angelegt und in Word geöffnet.
Versuche ich nun die Datei zu löschen erhalte ich die Meldung dies sei nicht möglich.
Starten wir zunächst einmal das Tool procexp.exe (ProcessExplorer). Dieses Tool funktioniert ähnlich wie der Task Manager – nur dass man hier wesentlich ausführlichere Informationen erhält.
Jetzt benötigen wir die Process ID.
Im Menü gibt es den Punkt Find –> Find Handle or DLL…
Klicken wir auf den Eintrag bekommen wir ein Suchfenster angezeigt. Suchen wir mal nach “Mein Testdatei.docx”.
Wenn man sich nicht vertippt hat bekommt man nun einen Eintrag angezeigt, der uns den Prozess (Winword.exe), die ProzessID (5432) und den Handle anzeigt.
Diese ID beenden wir mit dem Tool pskill.exe.
Dieses Tool hat keine GUI, soll heißen wir müssen auf die Konsole.
Dazu starten wir ein Konsole als Administrator und starten das Programm pskill.exe mit den Parametern –t und 5432.
c:\Users\jp\Desktop\pskill –t 5432
Wenn alles geklappt hat bekommen wir die Meldung der Prozess ist gelöscht worden.
Jetzt sollte es auch kein Problem sein die Datei zu löschen.
Dabei wird allerdings das Programm, der Prozess oder was auch immer Zugriff auf diese Datei hatte hart beendet.
Also nochmal der Hinweis: Bitte vorsichtig und mit Bedacht verwenden.
So long…