Pfadlänge unter Windows beim Schöpfe packen und unter Kontrolle halten

Wie bereits von anderen gesagt, einige Programme wie Tools könnten Probleme bekommen. In meinem Portfolio habe ich aber bisher noch keines gefunden.
 
  • Gefällt mir
Reaktionen: ksjdgzagt
fixedwater schrieb:
Also ich wie nicht wie es anderen geht, aber ich kann mir genau kein Beispiel vorstellen, bei dem ich über 200 Zeichen für die Benennung von irgendwas im Dateisystem bräuchte... daher hätte ich gerne mal ein Beispiel ;)
Ich auch nich. Ausser es befinden sich ganze Sätze oder Beschreibungen in den Ordner/Dateinamen
Was dann aber auch anders lösbar wäre. Da bin ich mir sogar zu 100% sicher.
 
  • Gefällt mir
Reaktionen: ksjdgzagt
PHuV schrieb:
Wie bereits von anderen gesagt, einige Programme wie Tools könnten Probleme bekommen. In meinem Portfolio habe ich aber bisher noch keines gefunden.
achso..das ist ja pillepalle...ich dachte windows würde unstabill werden oder ähnliches ...etwas schwierwiegendes...ob sich irgendwelche programme daran stören ist mir wumpe... :-))))
 
Zuletzt bearbeitet von einem Moderator:
ksjdgzagt schrieb:
ich verstehe gerade nicht was eine api ist.
diese 260er api-zeichenbegrenzung bezieht sich auf den DATEINAMEN ?
oder auf die PFANDLÄNGE ?

und hast du diese eröhung in der registry schon mal selbst gemacht und langfristig getestet ohne sonsige nebenwirkungen ? oder kennst du jemand der das gemacht hat und kannst berichten ?

Ganz einfach. Eine API ist eine Programmierschnittstelle (Application Programming Interface). Als viele Anwendungen programmiert wurden, wurden dazu Standard-APIs und deren Standard-Definitionen einbezogen, die mit der Programmierumgebung mitkamen, also z.B. mit Microsoft Visual Studio.

Wenn da eine beliebige Softwarebutze Dein Lieblingstool programmiert hat, dann haben die halt auf diesen Standarddefinitionen gearbeitet. Wenn da an einer Stelle im Tool der Nutzer eine Datei öffnen soll über einen normalen Datei-Öffnen-Dialog sieht das im (C++) Quellcode z.B. so aus:

char fpath[MAX_PATH]="";
OPENFILENAME ofntemp = { ..., fpath, ...};
if( GetOpenFileName(&ofntemp) ){
...
In der ersten Zeile soll ausreichend Speicherplatz reserviert werden, in den der Systemaufruf mit dem Standard Öffnen-Dialog (Zeile 3) dann den Pfad der ausgewählten Datei schreibt.
Danach würde es dann weitergehen mit dem Öffnen, also Datei lesen, auswerten, anzeigen etc..

Ohne dass die Softwarebutze hier was falsch macht, verlässt sie sich darauf, dass Microsoft schon weiß, was eine sinnvolle Maximalgröße für einen Pfad und damit den zu reservierenden Speicher betrifft. Und das ("MAX_PATH") war halt zig Jahre lang mit 260 Bytes definiert.


Klar kannst Du in der Registry den Support für lange Pfade aktivieren. Der Explorer und andere moderne Anwendungen kommen dann auch damit klar. NTFS sowieso. Aber Deiner Lieblingsanwendung ist das scheißegal. Die wurde zuletzt vor 9 Jahren kompiliert und hat nunmal während sie läuft weiterhin auf ihrem Stack (oder Heap oder sonstwo) nur 260 Bytes Platz vorgesehen, in die der lange Pfad halt partout nicht rein passt. Registry hin oder her, das Programm findet dann die zu öffnende Datei nicht.

Fehler durch zu lange Pfade kenne ich aber nur von solchen (alten oder nicht nach modernen Standards entwickelten) Anwendungen. Ich kann mir nicht vorstellen, dass es durch Erzeugen großer Ordnertiefen mittels anständigen Anwendungen wie Explorer und Co zu Datenverlusten kommt... Die Daten sind halt da und auch heile, aber nicht mit jeder Anwendung kommt man evtl. sofort ran (bzw. muss die Dateien für die evtl. kurz verschieben). Einfach da einzelne Anwendungen auf einem Auge blind sind...
 
  • Gefällt mir
Reaktionen: ksjdgzagt
Purche schrieb:
Aber Deiner Lieblingsanwendung ist das scheißegal. Die wurde zuletzt vor 9 Jahren kompiliert und hat nunmal während sie läuft weiterhin auf ihrem Stack (oder Heap oder sonstwo) nur 260 Bytes Platz vorgesehen, in die der lange Pfad halt partout nicht rein passt. Registry hin oder her, das Programm findet dann die zu öffnende Datei nicht.
ich versteh nicht ganz was du genau meinst. ich nutze zu 99,99999% den windows-explorer um in meiner ordnersturktur zu suchen und damit zu arbeiten. du sagst dass "der Explorer und andere moderne Anwendungen dann auch damit klarkommen". was meinst du dann mit dem zitat ? :-)

Purche schrieb:
Ich kann mir nicht vorstellen, dass es durch Erzeugen großer Ordnertiefen mittels anständigen Anwendungen wie Explorer und Co zu Datenverlusten kommt... Die Daten sind halt da und auch heile, aber nicht mit jeder Anwendung kommt man evtl. sofort ran (bzw. muss die Dateien für die evtl. kurz verschieben). Einfach da einzelne Anwendungen auf einem Auge blind sind...
ja nun, ich habe aus unwissenheit die letzen 15 jahren wohl dateipfade über 256 zeichen und hatte regelmäsige daten-fiasken, dazu schlechte consumer hardware etc...und....eben die funktion mit den langen pfaden in der registry nicht aktiviert....unter diesen vorasusetzungen kann es schon sein, dass win (zuletzt nahc dem mai 2020-update) nicht mit der überlange pfadlänge klarkommt und meine ordnerstruktur zerschiessen...
 
ksjdgzagt schrieb:
ich versteh nicht ganz was du genau meinst. ich nutze zu 99,99999% den windows-explorer um in meiner ordnersturktur zu suchen und damit zu arbeiten. du sagst dass "der Explorer und andere moderne Anwendungen dann auch damit klarkommen". was meinst du dann mit dem zitat ? :-)
Das war nur ein Beispiel und nicht auf Dich persönlich bezogen...
Mit dem Explorer dürfte da an sich nichts schief gehen. Hier schrieben ja schon andere die bis zu 600 Zeichen lange Pfade nutzen...

ksjdgzagt schrieb:
ja nun, ich habe aus unwissenheit die letzen 15 jahren wohl dateipfade über 256 zeichen und hatte regelmäsige daten-fiasken, dazu schlechte consumer hardware etc...und....eben die funktion mit den langen pfaden in der registry nicht aktiviert....unter diesen vorasusetzungen kann es schon sein, dass win (zuletzt nahc dem mai 2020-update) nicht mit der überlange pfadlänge klarkommt und meine ordnerstruktur zerschiessen...
Das halte ich wie gesagt nicht für die Ursache. Falls wirklich mal was aus anderem Grund kaputt geht am Dateisystem, haben es allenfalls einige Datenrettungsprogramme schwerer, falls die nicht mit so langen Pfaden klar kommen.

Dass man sich nur durch das Anlegen langer Pfade (wie gesagt, NTFS kann das seit Anfang an, also seit fast 30 Jahren) das Dateisystem zerschießen kann, halte ich für ein Gerücht...
 
  • Gefällt mir
Reaktionen: ksjdgzagt
ksjdgzagt schrieb:
MEINE ANFRAGE HIER; ALSO DER THREAD BEZIEHT SICH AUSSCHLIESSLICH AUF DIE
MAXIMALE PFADLÄNGE UNTER WINDOWS.

DIESE BETRÄGT ALSO 32.767 Zeichen, JA ?
Nein, Windows kann FAT32, ExFAT, NTFS und einiges mehr. Nicht Windows beschränkt die Pfadlänge, sondern das Dateisystem und unter Windows dann meist auch die faulen Softwareentwickler.

Siehe den 1. Link hier, was NTFS und damit Windows unter NTFS kann:
https://www.computerbase.de/forum/t...schter-umgebung-loesen.2037169/#post-25932240

ksjdgzagt schrieb:
demnach, wenn ich so ein tool wie "path lenght checker" nutze und der mir einen pfas von 300-400 zeichen anzeigt, dann ist ja alles noch im rahmen weil ja unter 32k zeichen ? :-))))
Da Windows Dich keine Pfade/Dateinamen anlegen lässt, die das Dateisystem nicht verwalten kann, nein. Aber die 32k Zeichen musst Du "korrekt" aufteilen, mehr wie 255 Zeichen je einzenen Pfad oder Dateinaman kann nahezu kein (ansatzweise gebräuchliches) Dateisystem. Und wenn Du/Dein Programm dann noch UTF-8 Zeichen nutzt (also für den deutschen Anwender ungewöhnliche Sonderzeichen) wird es noch komplizierter. Bei UTF-16 muss das kjemand beantworten, der des Chinesischen o.Ä. mächtig ist, mir reichen schon cyrillische Zeichen.

ksjdgzagt schrieb:
demnach, wenn ich so ein tool wie "path lenght checker" nutze und der mir einen pfas von 300-400 zeichen anzeigt, dann ist ja alles noch im rahmen weil ja unter 32k zeichen ? :-))))
Da Windows Dich keine Pfade/Dateinamen anlegen lässt, die das Dateisystem nicht verwalten kann, nein. Aber die 32k Zeichen musst Du "korrekt" aufteilen, mehr wie 255 Zeichen je einzenen Pfad oder Dateinaman kann nahezu kein (ansatzweise gebräuchliches) Dateisystem. Und wenn Du/Dein Programm dann noch UTF-8 Zeichen nutzt (also für den deutschen Anwender ungewöhnliche Sonderzeichen) wird es noch komplizierter. Bei UTF-16 muss das kjemand beantworten, der des Chinesischen o.Ä. mächtig ist, mir reichen schon cyrillische Zeichen.

ksjdgzagt schrieb:
ich versteh nicht ganz was du genau meinst. ich nutze zu 99,99999% den windows-explorer um in meiner ordnersturktur zu suchen und damit zu arbeiten. du sagst dass "der Explorer und andere moderne Anwendungen dann auch damit klarkommen". was meinst du dann mit dem zitat ? :-)
Ohne den Regsitry-Hack, den MS (wohl aus Faulheit) vor kurzem Eingebaut hat, kann der Windows Explorer nur mit den steinalten Beschränkungen umgehen (bevorzugt 8.3, mit Glück auch 260 Zeichen Gesamtpfadlänge). Mit dem Hack kann er u.U. mehr. Ob das dann aber Deine Anwendung auch kann (irgendwann möchstest Du vermutlich die Datei auch mal öffnen) ist eine andere Frage.

Der Explorer ist ohne den Reg-Hack genauso unfähig wie 99% der übrigen Programme, die man in der Regel unter Windows nutzt. Hier nur die Ergebnisse mit ein paar wenigen Programmen, die ich mal aus Spaß (weil es schon dort drüben kaum einer glauben wollte) getestet habe:
https://www.computerbase.de/forum/t...schter-umgebung-loesen.2037169/#post-25933572

ksjdgzagt schrieb:
ja nun, ich habe aus unwissenheit die letzen 15 jahren wohl dateipfade über 256 zeichen und hatte regelmäsige daten-fiasken,
Dann musst Du halt Programme nutzen, die damit umgehen können. Also z.B. den DoubleCommander (es gibt mit Sicherheit mehr) oder Du musst ein Unterverzeichnis per Subst temporär einem Laufwerksbuchstaben zuordnen. Das hat schon vor >10 Jahren bei unseren Netzlaufwerken in der Firmam funktioniert um an Daten zu kommen, die dort jemand mit Mac oder Unix angelegt hatte.

tRITON schrieb:
@ksjdgzagt : Windows 10 > 1603 kann damit umgehen,
Das kann schon Win 7 und vermutlich sogar Win NT 4, wenn die Programmierer (inkl. denen von MS selber) nur nicht so faul wären, die Funktionen auch zu nutzen.

Seit mind. 2011 gibt es Libs, die selbst für .NET Entwickler die alten Windows-Funktionalitäten entsprechend kapseln
https://www.codeproject.com/Articles/255155/Handle-Long-Paths-in-NET
(ja, es gibt Besseres wie AlphaFS, das ist m.W.n. aber etwas neuer)
Vorher musst man sowas halt selber kapseln oder in C++ korrekt aufrufen.

Damit darf man halt keine Win 98 FileOpen Dialoge mehr nutzen. Und schon ist man wieder bei den faulen SW-Entwicklern. Warum z.B. Office 2016 mit solchen Pfaden ein Problem hat, ist mir ein Rätsel. Aber MS wird wohl intern noch mit FAT16 arbeiten.[/QUOTE]
 
Zuletzt bearbeitet:
  • Gefällt mir
Reaktionen: ksjdgzagt
Purche schrieb:
Das halte ich wie gesagt nicht für die Ursache. Falls wirklich mal was aus anderem Grund kaputt geht am Dateisystem, haben es allenfalls einige Datenrettungsprogramme schwerer, falls die nicht mit so langen Pfaden klar kommen.
ein klon der zerschossenen hdd (gemeint ist nicht die hdd selbst sondern lediglich die ordnerstruktur und dateien) wurde letzten mao ja auch an seagate gesendet und die konnten die fehledenn ordner und dateien nicht wiederherstellen.

ob da meine vorgehensweise beim fiasko die richtige gewesen ist, ist auch fraglich denn ich bin in panik geraten und habe alle backups an dne rechner angeschlossen wodurch alle hdds zerschossen wurden...von einer davon machte ichd ann ein klon mit einem externen klon-gerät und das wurde an seagate gesendet zur datenwiederherstellung. ich denke nicht optimal...man hätte die zuerst zerschossene hdd sofort abklemmen müssen und dann nicht mehr einschalten müssen sondern direkt an seagate oder ?

somit ist die datenrettung von seagate und andere software lösungen nicht optimal gelaufen.
Ergänzung ()

maniometer, mir ist gerade wärend des arbeitens windows eplorer komplett abgeschmiert (sowas habe ich noch nie gehabt) die fenster gingen nicht mehr zu und wenn man mit der maus über die ordner ging, dann veränderte sich die fontart. also per taskmanager den explorer beendet dann kompletter schwarzer screen. alles normal offen aber der ganze monitor schwarz und ich konnte auf nichts klicken. das bedeutet verflixter neustart mitten im arbeiten....da ich sowas noch nie in meinem leben hatte tendiere ich es darauf zuruückzuführen dass ich heute morgen die max pfandlänge im der registry geändert habe auf nul. ...ich werde mal berichten was für weird situationen ich erlebe seit dieser änderung....
 
Zuletzt bearbeitet von einem Moderator:
puri schrieb:
(ich frage mich deshalb immer, wie die Leute sowas abgespeichert kriegen)
Das geht z.B. ganz wunderpraechtig seit Jahren schon aus MS-Office heraus per speichern unter.
Das Office (war Versiion 2010) kann mehr als die 260, der Dateiexplorer unter W7 konnte es nicht. Ist uns damals huebsch vor die Fuesse gefallen als die Leute ihren Krams per Doppelklick wieder oeffnen wollten und natuerlich fragten warum man es erstellen kann aber spaeter nicht mehr oeffnen.
Ein aehnliches Problem war, dass die Leute zum "Sichern" sich eMails aus Outlook per Maus in die Datei-Ablage zogen und da der Betreff der Mail als Dateiname verwendet wurde ohne kuerzend einzugreifen.
 
  • Gefällt mir
Reaktionen: ksjdgzagt
ksjdgzagt schrieb:
maniometer, mir ist gerade wärend des arbeitens windows eplorer komplett abgeschmiert (sowas habe ich noch nie gehabt) die fenster gingen nicht mehr zu und wenn man mit der maus über die ordner ging, dann veränderte sich die fontart. also per taskmanager den explorer beendet dann kompletter schwarzer screen. alles normal offen aber der ganze monitor schwarz und ich konnte auf nichts klicken. das bedeutet verflixter neustart mitten im arbeiten....da ich sowas noch nie in meinem leben hatte tendiere ich es darauf zuruückzuführen dass ich heute morgen die max pfandlänge im der registry geändert habe auf nul. ...ich werde mal berichten was für weird situationen ich erlebe seit dieser änderung....
Ich nutzte seit vielen Jahren diesen Änderung mit allen Arten von Tools, besonders Explorer, TotalCommander, QuadDir usw., das geht bei mir mit Dateipfaden bis 400 Zeichen einwandfrei. Dann muß es bei Dir noch andere Probleme geben. Das kann aus meiner Sicht nichts mit der Registry Änderung zu tun haben.
 
  • Gefällt mir
Reaktionen: ksjdgzagt
gaym0r schrieb:
Du musst unterscheiden zwischen Dateisystem und Betriebssytem. NTFS hat die Beschränkungen wie ich es geschrieben habe, also über 30.000 Zeichen für einen Pfad sind kein Problem.

gymfan schrieb:
Nicht Windows beschränkt die Pfadlänge, sondern das Dateisystem und unter Windows dann meist auch die faulen Softwareentwickler.

gaym0r schrieb:
Das Limit von NTFS ist wie folgt:
Dateinamen: 255 Zeichen
Pfade: 32.767 Zeichen

Mein Kopf glüht:
können wir nochmal für Dummies wie mich zusammenfassen ? :-)

dateisystem = ntfs
Dateinamen: 255 Zeichen
Pfade: 32.767 Zeichen

betriebsystem = windows 10
Dateinamen: 255 Zeichen
Pfade: 255 Zeichen
Pfade mit Registry-Hack = 32.767 Zeichen
(mithilfe des registry-hacks passt sich also das betriebsystem an die pfadlänge des dateisystems an)

Ist das so richtig ?
denn Gymfan sagt das gegenteil..."Nicht Windows beschränkt die Pfadlänge"
 
  • Gefällt mir
Reaktionen: Asghan
ksjdgzagt schrieb:
betriebsystem = windows 10
Dateinamen: 255 Zeichen
Pfade: 255 Zeichen
Das stimmt so auch nicht, das muß lauten:
Pfade + Dateinamen: 255 Zeichen.

Das kann man ja ganz einfach nachstellen: Legt auf der Wurzel eines Laufwerks C:\ D:\... einen sehr langen Pfad an, und versucht dann, einen Dateinamen zu erstellen. Wenn ohne den Regeintrag das gemacht wird, kann man bei Überschreitung der 255 Zeichen des Pfades die Dateilänge nicht ändern. Darunter nur dann in der maximalen Gesamtlänge.

Ich habs gerade auf meinem Firmennotebook ohne Regeintrag nachvollzogen. D:\1......1 mit 230 Zeichen, dann ist nur eine Datei 1111111111.txt mit 14 Zeichen möglich. Mit der NULL Terminierung sind das dann genau 255 Zeichen.
 
  • Gefällt mir
Reaktionen: ksjdgzagt
ksjdgzagt schrieb:
dateisystem = ntfs
Dateinamen: 255 Zeichen
Pfade: 32.767 Zeichen

betriebsystem = windows 10
Dateinamen: 255 Zeichen
Pfade: 255 Zeichen
Pfade mit Registry-Hack = 32.767 Zeichen
(mithilfe des registry-hacks passt sich also das betriebsystem an die pfadlänge des dateisystems an)
Nicht ganz richtig:

NTFS kann seit der Version 1 aus 1993(!) maximal 32.767 Zeichen lange Dateipfade ansprechen. Der Treiber (und der Kernel) in Windows kann das auch (unter XP hatte ich das sicher auch schon in Verwendung) - nur eben stellte Microsoft erst ab Windows 10 1809 (also über 25 Jahre später) eine einfache Möglichkeit bereit das auch ohne Workarrounds für Programme zu nutzen und erst in dieser Version kann der Explorer damit umgehen.

Technisch ging das schon lange - nur eben z.B. mit UNC Pfaden was recht umständlich ist.
 
  • Gefällt mir
Reaktionen: ksjdgzagt, Purche und PHuV
hi, obwohl ich nun schon das gefühl habe, dass ich mit euren hilfe die pfadlänge nun beim schöpfe packen kann und unter kontrolle haben kann...habe ich mir gedacht noch eine sicherhietsstuffe einzubauen:

also seit letzten mai bisher habe ich in meinem neuen datengrab keine ordnerstruktur mehr sodnern alles ist einfach so durcheinander hingeschmissen.

ich köönte das so lassen und auch weiterhin so handhaben ....die alte ordnerstruktur könnte ich
auf einem extra 1tb laufwerk erstellen, und dorthin lediglich verknüpfungen von den dateien des
datengrabs hinzufügen.

passiert doch irgendetwas unvorgesehenes dann ist wenigstens die ordnerstruktur mit den verknüpfungen zerschossen, das datengrab mit den originaldateien wäre noch intakt.

was haltet ihr davon ?
 
Oh neje De Str uktu rDat en abz uleg en haltei ch füre in e seh rvern ünft igei dee! :daumen:
 
  • Gefällt mir
Reaktionen: ksjdgzagt
Nix.

Anyway.
Da seit Monaten eh die Auskunft fehlt was Du da an Dateien hast ist Dir eh nicht zu helfen. 😎

Grundsaetzlich kannst Du mindestens ein Zeichen im Datei/Ordnernamen sparen wenn Du das Leerzeichen mal vergessen wuerdest.
Und ganz nebrnbei waere fuer Dich wohl ein niedliches DMS erfolgsversprechend. Aber das wurde Dir ja auch schon getippt.
 
  • Gefällt mir
Reaktionen: ksjdgzagt
BFF schrieb:
Da seit Monaten eh die Auskunft fehlt was Du da an Dateien hast ist Dir eh nicht zu helfen. 😎
lieber und werter moderator bff, was genau erwartest du von mir ? :-)
ich hatte x mal erwähnt, dass es sich um dateieren jedweder couleur handelt: von.txt über mp4 & mp3
bis psd & ai. Bevor du oder die berteffenden so liebreizend rumzickt, wäre es nett wenn ihr eure frage
konkrett formulieren würdet. denn ich verstehe ehrlich gesagt diese frage nicht. :-)

BFF schrieb:
Und ganz nebrnbei waere fuer Dich wohl ein niedliches DMS erfolgsversprechend.
was ist ein dms ?
ein dokumenten management system ?
ich muss chon bei dieser bezeichnung würgen. :-)
ich sortiere meine kreativität nach thememen und nicht nach dateitypen.
demnach schmeisse ich alles im datengrab und suche es mit dem explorer bis ich meine ordnerstrultur wiederhergestellt habe und ich dort die verknüpfungen ablegen kann. :-)

trotz dieser kleinen meinungsverschiedenheit:
du weisst ich bin mir nie zu schade für ein kleiner hofknick wenn es um dich geht.
 
Liebe @ksjdgzagt
Du veranstaltetst da auf Deinen Datentraegern ein Haschmich mit Deinen Daten/Dateien und fragst hier wie Dir zu helfen ist. Ja ok. Dein Ding.

ksjdgzagt schrieb:
ich hatte x mal erwähnt, dass es sich um dateieren jedweder couleur handelt: von.txt über mp4 & mp3
Hast Du jemals konkrete fassbare Beispiele geliefert?
Was Du, wo, wie, warum in irgendwas rein gepackt hast? Nope.

Das Haschmich willst Du, trotz einiger Threads Deinerseits hier plus Hinweisen wie es besser gehen koennte, wieder machen und sogar noch "verbessern".

ksjdgzagt schrieb:
demnach schmeisse ich alles im datengrab und suche es mit dem explorer bis ich meine ordnerstrultur wiederhergestellt habe und ich dort die verknüpfungen ablegen kann. :-)

Anyway.
Lass Deiner Kreativitaet freien Lauf und ignoriere alles was Dir irgendwie versucht wird zu sagen. ;)

Achja.
Ein DMS sortiert nicht nach Dateitypen. :D
 
  • Gefällt mir
Reaktionen: ksjdgzagt
Zurück
Oben