Es kommt immer wieder mal vor das auf Windows Systemen Dateien nicht mehr Löschbar sind.
Grund dafür sind normalerweise entweder Probleme mit den Zugriffsrechten oder zu lange (pfad)Dateinamen.
Wichtig: die CMD in der die folgenden Verfahren angewendet werden sollen, sollten immer mit "Admininstrativen" Rechten ausgefuehrt werden.
Wichtig: Bevor einer der folgenden Vorgehensweisen angewendet wird sollte man sicher sein das es um User Dateien handelt und nicht um Systemdateien die vom Windows System selber gesperrt sind.
CMD Öffnen
del dateiname /F
eingeben.
CMD Öffnen
mittels cd in das Verzeichniss mit der zu Löschenden Datei wechseln.
Dort den Ordnerinhalt mit dir /X anzeigen. Mit der Option /X werden die "kurzen" 8+3 Dateinamen angezeigt.
Eine Datei yxcvbnmasdf.txt wird dann z.b als yxcv~1.txt angezeigt. Das Zeichen in der Mitte ist eine Tilde
(ALT GR + auf der deutschen Tastatur)
Mit dem gekürzten Dateinamen kann man die Datei auch Löschen. z.b
del yxcv~1.txt
Achtung: Es kommt in der Praxis immer wieder vor das eine Datei keinen kurzen Dateinamen hat.
Bei Löschproblemen wegen eines überlangen Dateinamens oder einem überlangen Verzeichnissbaum kann es hilfreich sein das tiefliegende Verzeichniss über eine Freigabe auf einen
eigenen Laufwerksbuchstaben zu Mappen. Danach ist die gesamtlänge von Dateisystempfad und Dateiname hoffentlich so gekürzt das Löschen wieder möglich ist.
Oft ist es möglich die überlangen Dateinamen mittels move Befehl in ein anderes Verzeichniss zu verschieben.
Nachdem man die Datei erfolgreich nach c:\verzeichnissmitderueberlangendatei verschoben hat.
rd /s /Q c:\verzeichnissmitderueberlangendatei.
in einer cmd ausfuehren. Damit wird nicht direkt die Datei gelöscht sondern das Verzeichniss in dem sie liegt. Die Datei wird durch die Optionen /S /Q dann gleich mitgelöscht. Das funktioniert auch sehr gut bei Dateien die wegen vermurkster Dateizugriffsrechte nicht gelöscht werden können.
ACHTUNG: Diese Methode ist vergleichbar mit einer Kettensäge, eine falsche Eingabe kann hier massiven Datenverlust verursachen.
Eigentlich ist Robocopy dazu gedacht Daten zu Kopieren und dabei das Auftreten von Fehlern zu Ignorieren bzw den Versuch so lange zu wiederholen bis der Kopiervorgang abgeschlossen werden kann. Robocopy ist in der Lage ganze Dateisystembäume zu kopieren und dann mittel der Option /MIR zu aktualisieren(spiegeln). Dadurch werden im Ziel dann auch Daten gelöscht die in der Quelle gelöscht wurden.
Wenn man nun in einer CMD ein leeres Verzeichniss anlegt und robocopy startet:
robocopy leeresverzeichniss verzeichnissmitnichtlöschbaradatei /MIR
dann wird das Verzeichniss in dem die überlange Datei mit dem leeren Verzeichniss überschrieben. Dadurch ist die überlange Datei dann auch weg. Das funktioniert auch sehr gut bei Dateien die wegen vermurkster Dateizugriffsrechte nicht gelöscht werden können.