Geöffnete Dateien löschen

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.

Fehlermeldung beim Löschen einer offenen Datei 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.

Menüeintrag zum Auffinden von Handles 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.

Suchen Dialog in ProcessExplorer Jetzt haben wir unsere ID.

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.

pskill -t <ProcessID>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…

About Jonathan Pfeifer

Der Autor beschäftigt sich mit .Net, SharePoint und der SQL Server Technologie von Microsoft. Einige seiner Eindrücke werden in diesem Blog festgehalten. Für Fragen oder Anregungen steht er gerne per Email zur Verfügung.
This entry was posted in work-related and tagged . Bookmark the permalink.

Leave a Reply

Your email address will not be published. Required fields are marked *

*

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>