Zeichenbegrenzung von Pfaden

rongador

Commander
Registriert
Mai 2011
Beiträge
2.663
Hi,

kurze Frage: Mit irgendeinem vergangenem Windows 10 Update sollte doch die Zeichenbegrenzung von Pfaden aufgehoben worden sein, oder? Ich arbeite sehr viel mit Videos, es werden dabei viele Dateien mit Unterordnern angelegt, teils automatisch, teils von mir selbst - und bei Backups oder generell beim Löschen oder Kopieren von Dateien kommt es dann zu dem unbeliebtem Fehler, dass der Pfad einer Datei zu lang sei.

Dies sollte doch jetzt der Vergangenheit angehören, oder?

Bitte keine Kommentare über die korrekte Benennung einzelner Dateien - ich habe eine gute Ordnung, nur komme ich teilweise um die Nutzung langer Dateipfade nicht herum - bei deren Erstellung erscheint ja (leider?) auch keinerlei Warnung. Was vor allem auch bei der Arbeit mit Adobe Premiere Pro und Audition und deren automatisch angelegten Dateien zu Problemen führen kann.

Wie kann man also nun tatsächlich diese Begrenzung dauerhaft umgehen?

Hat da jemand Erfahrung?

Gruß
 
Die Pfadlänge kann man vergrößern. Geht aber nur durch händische Eingriffe in die Registry. Würde ich aber Abstand von nehmen. Das wird eben nur bei Dir an Deinem Rechner laufen. Und genau aus dem Grund kann man diese Einstellung nicht einfach via der Windows GUI vornehmen.

http://winfuture.de/news,92538.html
 
Zuletzt bearbeitet:
Die Pfadbeschränkung ist Teil der Windows API selbst. NTFS, als Dateisystem, kann schon seit halben Ewigkeiten "lange Pfade"; nur Windows selber spielt da halt "aus historischen Gründen" nicht mit.

Aufheben bringt nicht viel. Einfach deswegen, weil jegliche Software, die was mit Datei-Zugriff zu tun hat, sich a) nicht dran hält oder (schlimmer) b) sich unerwartet verhält.

Ja, dieses Limit ist albern und ja, das hat MS durch effektives Ignorieren verbastelt; aber als Endanwender können "wir" da jetzt so auch nicht groß viel tun.
 
Das ist echt ärgerlich und fühlt sich an wie ein Stück Steinzeit in Windows. Das ist echt immer ein Hindernis, wenn ich alles nach Ordnern übersichtlich organisiere und dann z.B. in einem Ordner Projektdateien erstellt werden (wie z.B. automatische Audiodateien wie durch Audition usw.), dann wird der Pfad automatisch recht lang. :-/
 
Ich kenne das Problem auch, gerade auch im Zusammenhang mit Datenmanagement beim Backup. Als Workaround kann ich dir ein Tool empfehlen, das mir einst hier auf CB empfohlen wurde . Link zum Thread .
Damit löst man nicht das zugrunde liegende Problem, aber das Tool findet die Dateipfade länger als n=256 (oder was du auch immer eingibst) und liefert die Liste wie im Explorer, damit du direkt umbenennen kannst. Der Umgang mit dem Problem ist somit viel einfacher geworden.
 
Das Tool habe ich sogar bereits installiert. Gefällt mir auch, löst aber gewissermaßen das Problem nicht. Denn z.B. gerade bei Dateien, die bei der Videobearbeitung oder Soundbearbeitung "automatisch" erstellt werden, gibt es bei Umbenennungen große Probleme. Das geht nicht so einfach, wie man es sich wünscht :-/ Dann werden auf einmal Sounddateien innerhalb von Premiere Pro nicht mehr gefunden oder es gibt andere Probleme bei der Datenverarbeitung.
Ergänzung ()

Kurze Nachfrage: Wenn ich diese Pfadbegrenzung bei mir deaktiviere, in wie fern darf ich verstehen, dass dies dann nur bei meinem System funktioniert? Anders gefragt: Wenn ich es bei meinem Windows 10 aktiviere und zB Backups auf einer externen Festplatte mache - und immer von diesem Rechner aus auf meine Backup-Festplatten zugreife: Dann gibt es kein Problem?
 
Wenn es nur um Windows geht, dann wird es keine Probleme geben. Aber wie schon in #3 steht. Drittsoftware kann da Probleme machen. Und genau das ist auch der Grund, warum MS das nicht allgemein ändert. Die Gefahren sind einfach viel zu Groß.
 
Hast Du Beispiele für solche Software? Photoshop? Word? Was denn zB?
Ergänzung ()

Meiner Meinung nach sollte Microsoft hier wie Apple vorgehen. Knallhart sich von altem Ballast trennen und die Pfadbegrenzung aufheben und erzwingen, dass sich jetzt alle darauf einstellen müssen - zB mit einer Vorlaufzeit von einem Jahr oder so.
 
Aktuelle MS Produkte werden kein Problem machen. Aber zu allen anderen. Kann sein.

Das ist Deine Meinung. Offensichtlich ist das Thema nicht wirklich wichtig. Sonst würde das MS auch zur Kenntnis nehmen. Ich arbeite sehr viel mit Windows Systemen in allen möglichen Bereichen. Ein Problem war die Pfadlänge noch nie.

Und da Windows erheblich weiter verbreitet ist im kommerziellen Umfeld und da auch viel mit älterer Software gearbeitet wird, ist das nicht so einfach wie für Apple. Die den Auxeingang am iPhone weg nehmen, das optische Laufwerk, die 32 Bit Unterstützung beim iOS usw.
 
Zuletzt bearbeitet:
Hm, naja, ich organisiere vor allem Arbeitsdateien sehr ordentlich mit Ordnern und Unterordnern. Da kommt es vor allem bei langen Dateinamen am Schluss manchmal zu derartigen Problemen :-/ Beispiel: Hauptordner > Themengebiet > Unter-Kategorie > Hauptthema > Aufnahme > Projektordner (automatisch erstellt) > lange Dateinamen (auch automatisch erstellt).
 
Das Problem ist indirekt. Microsoft KANN nichts dagegen tun.

Die Situation ist folgendermaßen:

- Es gibt eine API. Da steht unter vielem anderen drin, was Microsoft gesagt hat, wie lang Pfade sein dürfen. Das ist die sogenannte WIN32API von... anno dunnemals.

- Hier ist MAX_PATH definiert als Konstante mit 255 Zeichen.

- Jetzt baue ich eine Applikation. Irgendeine, welche Dateien verwendet - lesend, schreibend -- insbesondere: Dateien mit variablem Pfad, die also ggf erst gesucht und gefunden werden müssen oder die per Öffnen-Dialog eingelesen (ggf geschrieben) werden sollen.

- Dann kompiliere ich meine Applikation. Die liegt jetzt binär vor.

- Und hier liegt der Hase im Pfeffer: die Konstante MAX_PATH wandert jetzt in den Quellcode. Mein verwendeter Pfad im Programm selbst ist jetzt maximal 255 Zeichen lang. Dieser Wert wurde zur Kompilierzeit aus der Konstante geholt und fest ins Programm geschrieben.


Wenn Microsoft die API entspannt und mehr Zeichen zuläßt, dann ist das Ergebnis davon, daß Software, welche *vor* dieser Entspannung kompiliert wurde, trotzdem die ältere Beschränkung nutzt --- maximal 255 Zeichen.

Damit die entspannte API genutzt werden kann, müßte das Programm rekompiliert werden - zumindest die Teile, die sich mit der Dateiverwaltung befassen.


Was dazu führt, daß "aktuelle" Software die neuere API nutzt (nutzen kann, je nach verwendetem Toolkit), ältere jedoch nicht.

Das äußert sich dann so:

-1- Man klickt auf Öffnen in seinem Programm
-2- Man navigiert durch den Dialog. Das klappt normalerweise; der Dialog stammt von Windows selber und wird nur noch sehr selten durch den Entwickler selbst implementiert.
-3- Man hat seine Datei mit dem "langen Pfad" gefunden und klickt nun auf "Öffnen" - oder "Speichern", je nachdem.
-4- Der übergebene Dateipfad paßt nicht in die Zielvariable, die auf 255 Zeichen beschränkt ist.
-5- Je nachdem, wie die Applikation diesen Zustand behandelt (oder ggf nicht behandelt) ist alles möglich von "Datei läßt sich nicht öffnen" bis "Anwendung stürzt ab". In keinem Fall wird die Operation erfolgreich abgeschlossen werden können.
 
Okay... aber es muss ja irgendwann einmal entspannt werden, sprich: Das Problem muss behoben werden und fortan funktionieren halt nur noch aktuelle angepasste Programme. Alte, nicht kompatible Programme werden schlichtweg nicht mehr installierbar sein. Punkt. So wird es Apple zB auch jetzt mit iOS 11 machen. 32-Bit Apps - gekaufte wie kostenlose - werden beim Update schlichtweg GELÖSCHT. Es werden nur noch und ausschliesslich 64-Bit Apps funktionieren. Punkt.

Ich finde, Microsoft sollte hier exakt genau so vorgehen und sich auf diese Weise von diesem "255 Zeichen Pfad" und anderen Relikten lösen.
 
Zuletzt bearbeitet:
Da stimm ich zu. Diese Beschränkung war von anfang an künstlicher Natur und stammt aus FAT-Zeiten, welches tatsächlich nicht mehr unterstützt hatte.

Welches System verwendet heutzutage noch FAT?
 
rongador schrieb:
Ich finde, Microsoft sollte hier exakt genau so vorgehen und sich auf diese Weise von diesem "255 Zeichen Pfad" und anderen Relikten lösen.
damit tötet sich MS in seinem größten markt - den businesskunden - selbst, für die paar bei denen es wirklich ins gewicht fällt...genau dsehalb gibt es momentan eben den im zweiten eintrag genannten registry wert, feel free to use...ob deine Programme damit können ist natürlich offen
 
Nein, weil die API-Änderung keine Auswirkungen auf die Umgebung selber hat. Man kann sich nur mit dem jeweiligen Softwareanbieter kurzschließen, ob der ggf seine Software neu kompiliert (ggf mit einem neueren Toolkit) damit das auch mit den längeren Pfadnamen funktioniert.

MS selber hat damit nur insoweit was zu tun, daß die die Vorgaben machen (müssen). Von da an ist es egal. Das ist nicht so verschieden von Designrichtlinien: Die kann einer machen, und ein anderer "soll" sich daran halten -- muß es aber nicht. Und wenn es andere Richtlinien gibt, dann wird es bald Applikationen geben, von denen manche "so" aussehen und manche eben anders. Will man dann als zB Businesskunde eine Applikation haben, die "so" aussieht und nicht "anders", dann muß man sich entsprechend auch nicht an den Designer der Richtlinien wenden, sondern an den Softwarebauer, der diese umsetzt.
 
Ich bleibe dabei: Microsoft sollte sich von Altlasten trennen und bei einer neuen Version von Windows bewusst vorgeben: Entweder Ihr passt Eure Software an die neue Umgebung und die entsprechenden Vorgaben (lange Pfadnamen etc.) an oder Eure Software kann mit dem neuen Windows nicht genutzt werden. Business-Kunde hin oder her - wie man diese erreicht oder überzeugt, das ist nicht unsere Sache als Kunden, sondern die des Marketings oder anderer Spezialisten von Microsoft auf diesem Gebiet. Fakt ist, dass Altlasten irgendwann mal abgelegt werden sollten. Wie gesagt: Apple geht hier korrekt vor, auch wenn alle erst meckern "Öööh, hauen die einfach das optische Laufwerk raus!", "Ööööh, alle 32-Bit Apps werden automatisch gelöscht, obwohl ich für diese gezahlt habe, wie können die nur?!"... korrekt ist es aber und wurde schon oft genug bewiesen, dass dieser Weg richtig ist.
 
Software von vor 10 Jahren, wo der Entwickler gestorben ist, KANN nicht angepaßt werden. Geht nicht. Auch nicht erzwungenermaßen. Dann bleibt nur, die Software nicht zu nutzen.

Und dann gehen die Businesskunden tatsächlich auf die Barrikaden.

Genauso könnte man argumentieren, Windows möge mit AVX2-Extensions kompiliert werden. Dann läuft es eben auf >50% der am Markt verfügbaren Hardware nicht mehr. "Pech gehabt."
 
So ist es. Genau wie bei Apple. Alle 32 Bit Apps verschwinden mit iOS 11 - und sind damit nicht mehr nutzbar. So soll es meiner Meinung nach auch bei Windows sein. Wer uralte Software verwenden will, soll das neue Windows dann nicht verwenden. Das ist halt der typische "Übergang"...
 
Du willst es nicht verstehen, oder? iOS mit Windows vergleichen. Das geht überhaupt nicht. iOS ist ein komplett geschlossener Kosmos. Da kann Apple eben machen, was es will. Und die Kunden fressen alles. Und es ist ein OS für mobile Systeme. Da spielen Dinge, die bei einem Windows (Server) System im kommerziellen Umfeld wichtig sind keinerlei Rolle.

Das geht bei Windows nicht. Und nochmal, ich betreue etliche kleine Firmen in Ihrer IT Infrastruktur. Niemand hat oder kennt dieses Problem. Egal unter welchen Szenarien.

Vielleicht solltest Du Deine Datenablage einfach mal überdenken. Ordnung und unbegrenzte Pfadlänge müssen nicht zusammen gehören.
 
Zuletzt bearbeitet:
Erst einmal bleibe ich freundlich. Des Weiteren habe ich Windows nirgends mit iOS verglichen, sondern auf die Tatsache aufmerksam gemacht, dass man auf keinen anderen Wege sich von Altlasten befreien kann außer indem man sich eben von Altlasten befreit. Und das bringt Opfer mit sich - anders kann man offensichtlich den Wechsel nicht erreichen. So. Und nun schön weiter freundlich bleiben - vielen Dank im Voraus!
 
Zurück
Oben