andinistrator1
Goto Top

Die Quelldateinamen sind zu lang für das Dateisystem. (Ordner nicht löschbar.)

Ein Hallo in die Runde,

beim Versuch einen Ordner zu löschen habe ich das Problem und diesen Fehler:
"Die Quelldateinamen sind zu lang für das Dateisystem. ..."

Auf dem Serversystem möchte ich keine weitere Software installieren, es gibt ja die Robocopy Mirror Funktion, mit dieser es gehen sollte:

Leeren Ordner erstellen (C:\temp), welcher in das Verzeichnis gespiegelt wird und damit alles leert (sofern C:\temp leer ist)
Textdatei erstellen
Endung in *.bat umbenennen

Beispielverzeichnis
C:\Users\Admininistrator\Desktop\Neuer Ordner\test\1\2\3

Gelöscht werden sollen die Ordner 1, 2, 3, ...
robocopy "C:\temp" "C:\Users\Admininistrator\Desktop\Neuer Ordner\test" /MIR  
= funktioniert im Testfall

In der Praxis (anderer Pfad mit 100ten Unterordnern) rödelt meine Kiste wenige Minuten heftig, die Performance auf dem Server geht gegen 0 und das CMD Fenster arbeitet.

Leider sind die Unterordner noch immer da. Der o.g. Beispielfall hatte funktioniert. Hat jemand eine Idee?


EDIT
Lösung
leeren Ordner per Robocopy spiegeln
rc_log

Content-Key: 351385

Url: https://administrator.de/contentid/351385

Ausgedruckt am: 29.03.2024 um 06:03 Uhr

Mitglied: SarekHL
SarekHL 11.10.2017 um 10:25:37 Uhr
Goto Top
Zitat von @Andinistrator1:

"Die Quelldateinamen sind zu lang für das Dateisystem. ..."

Pfad- und Dateinamen dürfen zusammen nur eine bestimmte Länge haben, ich bin mir nicht sicher, ob es 256 Zeichen sind oder mehr. Hat man es irgendwie geschafft, Dateien mit langem Namen in einen schon aus vielen Zeichen bestehenden Pfad zu packen, kann man sie (zumindest in der Eingabeaufforderung) nicht mehr verarbeiten. Ich behelfe mir dann, indem ich den Pfad mit dem SUBST-Befehl auf einen Laufwerksbuchstaben lege.

also z.B. subst z: c:\daten\...\...\...\...\...\...\...

dann kann ich auf die Datei c:\daten\...\...\...\...\...\...\...\xyz.txt mit z:\xyz.txt zugreifen, und dann ist der Name nicht mehr zu lang.
Mitglied: montana
montana 11.10.2017 um 10:41:42 Uhr
Goto Top
Zitat von @Andinistrator1:

"Die Quelldateinamen sind zu lang für das Dateisystem. ..."

Pfad- und Dateinamen dürfen zusammen nur eine bestimmte Länge haben, ich bin mir nicht sicher, ob es 256 Zeichen sind oder mehr.

Ja, maximale Länge eines Pfades unter NTFS sind 256 Zeichen. Die Dateien können meist noch geöffnet werden, allerdings dürften Verknüpfungen oder löschen etc. nicht mehr funktionieren.
Mitglied: em-pie
em-pie 11.10.2017 um 10:47:41 Uhr
Goto Top
Moin,

prüfe mal, welchen Ordner er muniert.
Ich hatte auch mal den Fall, dass SymLinks im Profilordner sich rekursiv kopiert haben. Ein SymLink innerhalb eines Ordner verzweigte auf den übergeordneten Ordner...

Ich meine, dass war irgendwie ein/ der App-Data-Ordner oder so was...

Was "schöne" Arbeit, die gefült 4Mio Unterordner erstmal wieder zu löschen und dann auch aus der Quelle zu entfernen...

ANsonsten: greife via Freigabe auf die Quelle zu (s. SarekHLs Post)
Mitglied: emeriks
emeriks 11.10.2017 um 10:50:31 Uhr
Goto Top
Hi,
Zitat von @montana:
Ja, maximale Länge eines Pfades unter NTFS sind 256 Zeichen.
Nein, bis 40.000 ist erlaubt.
Das Problem sind die Programme, welche da noch die alten API's verwenden.

@@Andinistrator1
Robocopy löscht aber sehr zuverlässig auch sollche Pfadmonster. Da machst Du irgendwas falsch.
Du könntest noch den Weg über Laufwerksmapping versuchen. Einfach ein paar Ebenen höher ein Laufwerk verbinden und dann darüber arbeiten. Egal ob mit "net use" oder "subst".

E.
Mitglied: Andinistrator1
Andinistrator1 11.10.2017 um 10:57:09 Uhr
Goto Top
Vielen Dank für das Feedback.
256 Zeichen wurden überschritten, ich denke es sind über 600 Unterordner. Ein Umbenennen hilft also leider nicht.
Ich beiße in den sauren Apfel und klicke mich ans Ende der 600 Ordner und lösche von dort aus.

Eine automatische Lösung wäre aber für den Fall dennoch interessant, wie das o.g. Robocoby.
Mitglied: 134464
134464 11.10.2017 aktualisiert um 11:12:57 Uhr
Goto Top
Parameter /B sollte man noch setzen.
Ansonsten cmd als System mit psexec starten oder via cygwin und rm -rf /pfad drüber laufen lassen, klappt immer.
Mitglied: BassFishFox
BassFishFox 11.10.2017 um 13:04:27 Uhr
Goto Top
Mahlzeit,

Parameter /B sollte man noch setzen.

Eventuell noch /XJ.

Fuer Klickgewohnte ist der FileManager von 7-Zip (x64) eine Moeglichkeit zum Loeschen solcher ueberlangen Verzeichnisse. face-wink

BFF