Bents Blog

 

Ein IT Blog mit Themen aus dem Windows Server Umfeld.

Spezialfall: von Linux erzeugte Datei lässt sich unter Windows nicht löschen

Mehr oder weniger durch Zufall bin ich letzte Woche auf ein interessantes Phänomen gestoßen. Ich wollte auf unseren internen Fileservern einige Ordner löschen, die via DFSR (siehe mein Beitrag) neu repliziert werden sollten. Dazu mussten auf einem der Server allerdings einige Ordner gelöscht werden.

Problem

Das Löschen der Verzeichnisstruktur brach aber auf dem Windows Server immer mit der folgenden Fehlermeldung ab:

Da die Datei nicht im Dialogfeld benannt wurde, „hangelte“ ich mich durch die Verzeichnisstruktur, um den „Übeltäter“ ausfindig zu machen. Und siehe da, die Datei war schnell gefunden – ich habe das Verhalten reproduziert und nutze im Folgenden ein Beispiel – hier die Datei bla.foo. zur Veranschaulichung. Schaut man sich die Eigenschaften der Datei an, stellt man sehr schnell fest, dass die Reiter Sicherheit und Dateiinfo fehlen – außerdem wird die Dateigröße mit 0 Bytes angegeben:

Ursache

Wie entsteht eine solche Datei? Unter Windows kann man keine Datei anlegen, die mit einem Punkt endet. Das Betriebssystem verhindert dies durch interne Mechanismen – probiert es gern aus. Mein Kollege aus dem Linux-Team hatte aber eine solche Datei unter Linux erstellt (dort ist das nämlich problemlos möglich) und sie via Samba auf unseren Fileserver kopiert. Der Inhalt meiner Beispieldatei bla.foo. lautete eigentlich „foobar“ und war 7 Bytes groß. Diese korrekte Größe zeigt Windows im Gegensatz zum Explorer allerdings erst auf Kommandozeile an:

Allerdings kann Windows die Datei weder öffnen, kopieren, verschieben oder löschen:

Lösung

Um die Datei dann aber doch unter Windows zu löschen (sofern, das erwünscht ist), gibt es einen einfachen, eigentlich simplen Trick. Mit dem folgenden Befehl

del bla.fo*

wurde meine Beispieldatei erfolgreich gelöscht – bei meinen Tests war dies die einzig funktionierende Methode. Eine solche Datei weiter auf einem NTFS Filesystem zu belassen, ist aus meiner Sicht sowieso sinn-frei, da keine Datensicherung selbiges File sichern kann. Wie schon erwähnt, kann dieser Spezialfall nur in gemischten Umgebungen (Linux und Windows) auftreten, auf einem Windows-System selbst, lässt sich keine Datei erzeugen bzw. anlegen, die auf einen Punkt im Dateinamen endet.

Bei Tipps, Vorschlägen sowie Fragen oder Kritiken hinterlasst bitte einen Kommentar.

Einen Blog am Leben zu erhalten kostet Zeit und Geld. Da ich auf meiner Seite weder Werbung einbinde, noch andersweitige Zuwendungen erhalte, freue ich mich über jede kleine Spende. Einfach und unkompliziert geht das über PayPalMe. Du unterstützt damit diesen Blog. Vielen Dank.