Überlanger Dateipfad

illumina7

Experte
Thread Starter
Mitglied seit
21.09.2014
Beiträge
67
Ort
Oberfranken
Hi Ihr,

ich weiß dazu gibt es schon mehr als zu genüge Tipps und Threads in allen möglichen Foren usw. Allerdings hab ich inzwischen nahezu jeden Tipp, den ich finden konnte, probiert.
Bis jetzt ohne Erfolg.
Mir hat so ein Plugin für Cinema 4D, bei der Installation, einen extrem langen Dateipfad angelegt.
Und ich bekomm diesen Pfad nicht mehr gelöscht. Mein letzter Versuch war jetzt das händische Umbenennen und Löschen des Pfades.
Hab mir ein kleines Script geschrieben, das den aktuellen Ordner umbenennt und dann in diesen wechselt, danach hab ich den "tiefsten" Ordner wieder als subst verbunden.
Aber inzwischen hab ich keinen freien Laufwerksbuchstaben mehr, und von der letzten untersten Ebene kann ich immer noch nichts löschen.

pfade.PNG

Hab hier mal einen Screenshot angehängt, um das etwas zu verdeutlichen.

Hoffentlich hat von euch jemand einen Tipp, btw. kann ich nicht mal mehr ein Backup laufen lassen, wenn ich den Dateipfad nicht vorher ausschließe... sehr nervig, auch wenn es im Betrieb nicht weiter stört.

Danke und Gruß
illumina7
 
Wenn Du diese Anzeige nicht sehen willst, registriere Dich und/oder logge Dich ein.
Sieht ja fürchterlich aus.
:hmm:

Auf dem Bild hat jeder Buchstabe gleich viele (circa 128) sub-Verzeichnisse . Müssten das nicht jedes Mal weniger werden? Bist du sicher, dass dein Script in eine tiefere Ebene wechselt, wenn es einen neuen Buchstaben vergibt? Zum überprüfen könnte dein Skript statt der 1 einen fortlaufenden Buchstaben vergeben (A, B, C,…).

Aber vielleicht habe ich es auch noch nicht ganz verstanden.

Hast du irgendwie herausfinden können, wie tief das ganze Konstrukt ist?
Womit ist das Script programmiert?
 
Zuletzt bearbeitet:
Vielleicht lässt sich der Pfad damit löschen: Download

Damit konnte ich zumindest bei mir mal einen Ordner, der sich partout nicht löschen lassen wollte, entfernen.
 
Also DelinvFile sah zuerst gut aus. Beim Löschvorgang zählt es schön die Subdirs hoch, bei Subdir ~3000 ploppt eine Fehlermeldung auf: "Delete folder failed - 145 - Das Verzeichnis ist nicht leer:".
Prüf jetzt mal, ob ich noch irgendwas einstellen kann.
Kann mir sonst noch jemand ein Tool empfehlen? Hab schon etliche probiert, aber bestimmt noch nicht alle.
Achja von Linux Live Disc booten und löschen wird vermutlich am Bitlocker scheitern...

- - - Updated - - -

Sieht nicht nur fürchterlich aus, ist es auch :rofl:
Im Prinzip hab ich immer in der CMD bis die maximale Pfadlänge erreicht ist, mit einer einfachen Loop mit Counter "ren Furryball 1" und "cd 1" ausführen lassen. Danach hab ich das letzte "unterste" Verzeichnis wieder als Subst gemountet. Z: war der erste, danach hoch bis nichts mehr frei war (ist nicht alles auf dem Screen).
Leider konnte ich das aber nicht bis zum letzten Verzeichnis durchführen... Weiß ehrlich gesagt nicht mal, wie eine Anwendung sowas überhaupt anlegen kann?!
 
Mit DeepRemove hat jemand 2000 Directory-Ebenen löschen können. Vielleicht klappt es bei Dir auch damit. Wenn die Struktur zu tief ist, kann man es auch mehrmals starten, schreibt der Entwickler.

Es erfordert halt Vertrauen in den Programmierer, dass es nichts falsches macht.

Ich selbst habe es nicht benutzt - hatte zum Glück noch nie den Bedarf dafür.
 
Vielen Dank!! DeepRemove hat es tatsächlich entfernen können! 4722 Subdirs hat es angezeigt :)
 
wie kann ein Programm 4722 Unterverzeichnisse anlegen, wenn unter Windows mit NTFS die Pfadlänge auf 258 Zeichen begrenzt ist *tztztz*
 
Indem das Programm in das jeweils tiefste Verzeichnis wechselt und dort ein weiteres anlegt. Dazu braucht es nicht den ganzen Pfad.

DeepRemove funktioniert wahrscheinlich umgekehrt. Stufenweise geht es bis zum vorletzten Verzeichnis hinunter und löscht das tiefste Verzeichnis. Dann eine Stufe hoch und wieder das enthaltene (tiefste) löschen.
 
Also würde eine Batchdatei mit folgendem Inhalt Rekursiv und unendlich immer neu Verzeichnisse anlegen, ohne daß bei Überschreiten der Pfadlänge von 256 Zeichen eine Fehlermeldung kommt, weil die Verzeichnisangaben nur Relativ und nicht absolut sind!?!
Ist ja ein geiler Bug, wenn dem so wäre.

Code:
:Start
mdir 1
CD 1
Goto Start
 
Ich hab's nicht ausprobiert, aber mit einer Batchdatei geht das wahrscheinlich nicht. Beim CD 1wird intern wahrscheinlich der volle Dateipfad verwendet, dort gibt's dann eine Fehlermeldung, wenn er zu lang ist. (Man kann auch diese Fehlermeldung als Bug betrachten, weil das Batch-Programm nicht das macht, was man ihm anschafft.)
Deswegen klappt beim umgekehrten Vorgehen auch das Löschen mit einer Batch-Datei nicht.

Wenn man das in C, C# oder einer anderen Sprache programmiert, dann geht das so. Kannst dir ja einmal den Sourcecode von DeepRemove anschauen. Ich nehme an, dass das so programmiert ist.
Programmiersprachen bieten mehr Möglichkeiten, der Programmierer hat aber auch die Verantwortung alles richtig zu machen.
 
Zuletzt bearbeitet:
wie kann ein Programm 4722 Unterverzeichnisse anlegen, wenn unter Windows mit NTFS die Pfadlänge auf 258 Zeichen begrenzt ist *tztztz*

Ist sie nicht!
Diese Begrenzung ist keine Begrenzung des Dateisystems, sondern eine Begrenzung der diversen Windows-Programme (z.B. Windows Explorer).
Die Pfadlänge ist bei NTFS auf 32.767 Zeichen begrenzt.

An überlange Pfade kommt man übrigens ran, indem man die verkürzt.
Und da sollte man an der untersten Ebene anfangen und sich dann Ebene für Ebene durchhangeln.
Und dann möglichst nur Ordnernamen mit 1 Stelle verwenden, z.B. einfach "1" oder "a".
 
Hardwareluxx setzt keine externen Werbe- und Tracking-Cookies ein. Auf unserer Webseite finden Sie nur noch Cookies nach berechtigtem Interesse (Art. 6 Abs. 1 Satz 1 lit. f DSGVO) oder eigene funktionelle Cookies. Durch die Nutzung unserer Webseite erklären Sie sich damit einverstanden, dass wir diese Cookies setzen. Mehr Informationen und Möglichkeiten zur Einstellung unserer Cookies finden Sie in unserer Datenschutzerklärung.


Zurück
Oben Unten refresh