Dateipfad zu lang

Das Dateisystem NTFS ist um einiges leistungsfähiger als die alten FAT-Formate von Microsoft und dennoch sie sind in die Jahre gekommen.

Unter diversen Windows Versionen kann es heutzutage immer noch passieren, dass Dateipfade samt Namen zu lang sind. Dann gibt es eine unschöne Meldung und eventuell keine Möglichkeit mehr die Datei los zu werden oder umzubenennen. Natürlich ist das nicht ganz richtig, jedoch muss meist herumgetrickst werden. Bei Windows 10 ist anscheinend das Löschen nun problemlos möglich. Ältere Windows-Versionen haben aber unter Umständen noch mehr Probleme und können solche Dateien dann nicht mehr löschen, kopieren, verschieben oder halt umbenennen.

Wie kommt es aber zu diesem Problem? 

NTFS selber hat eigentlich großzügige Beschränkungen. Pfadlängen sollen laut Wiki gut 32.767 Zeichen fassen. Also eine ganze Stange an Möglichkeiten. Beim Dateinamen gibt es dennoch eine geringere Bandbreite. Hier sollen wirklich "nur" 256 (meist sogar nur 255) Zeichen genügen. Das tun sie in den meisten Fällen auch. Dennoch kommt es vor, dass Windowsprogramme herum meckern, das die Datei nicht mehr verschoben werden kann, weil Pfad- und Dateiname zu lang sind. Viele Programme unter Windows haben aber noch engere Beschränkungen und erlauben es nicht mehr mit Dateien zu arbeiten, die eine Länge von mehr als 255 Zeichen (Pfad + Dateinamen) besitzen. Das Problem ist daher weniger dem Dateisystem als vielmehr den APIs geschuldet auf denen die Programme aufbauen.

Daher ist klar warum einige Programme oder Systeme auf NTFS wunderbar noch längere Pfad- und Dateinamen erstellen können und wiederum Windows selber diese nicht mehr richtig verwalten kann.

Wer daher nicht mit kurzen Bezeichnungen leben möchte, muss notfalls einen anderen Dateimanager nutzen, welch mit dieser Problematik umzugehen weiß. Wer jedoch nur einen Einzelfall reparieren möchte kann folgendes tun.

  1. Manche Windows-Versionen schlagen es auch vor: Verzeichnisstruktur umbenennen und verkleinern. Ist jedoch nicht hilfreich, wenn der Dateiname schon länger ist, als es beispielsweise der Explorer erlaubt.
  2. Einen anderen Dateimanager nutzen: Total Commander
  3. Mit einer Linux Live Distribution die Partition öffnen und die Datei umbenennen/ löschen. (Benötigt Neustart)
  4. Ein Linux-Terminal nutzen um die Datei umzubenennen/ löschen: Cygwin [mit Befehl mv] (Benötigt keinen Neustart)

Die ersten Beiden sind die wohl am Einfachsten. Sofern die Nummero Uno überhaupt funktioniert. Dann ist Nummer zwei jedoch schneller nachzuholen. Alle Weiteren sind für viele dann wahrscheinlich schon wieder zu "nerdig" und benötigen noch etwas mehr Kenntnisse.

Microsoft selber empfiehlt auf einer ihrer Hilfseiten sogar, dem untersten Ordner mit der Datei, einem Laufwerksbuchstaben zuzuordnen. Oder mit diesem eine Netzwerkfreigabe durchzuführen, um die virtuellen Pfade über diese zu verkürzen. Aber selbst diese Tipps sind weniger für Anfänger geeignet. Vor allem wenn man wie Microsoft die Lösungen nicht weiter ausführt.

Eine Netzwerkfreigabe zum entsprechenden Ordner ist aber eigentlich schnell gemacht. Im Explorer Rechtsklicken -> Eigenschaften -> Freigabe: Hier die Freigabeeinstellungen vornehmen. Dann das Netzwerk aufrufen, seinen eigenen Rechner auswählen und die Freigabe öffnen.

Einem Ordner einen Laufwerk zuzuordnen ist etwas weniger offensichtlich. Dazu am besten die Windows Eingabeaufforderung öffnen und folgenden Befehl eintippen:

SUBST [Freien Laufwerksbuchstaben] [Zielordner]

Beispiel:

subst o: c:\Users\Benutzername\Documents\

Im Explorer wird jetzt ein Laufwerk mit dem Buchstaben O: angezeigt. Darin befindet sich die Datei, die man hoffentlich nun umschreiben kann. Weil die Netzwerkfreigabe aber auch lokal möglich ist, ist dieses Kommando eigentlich hier überflüssig.