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, ...
= 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
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
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
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 351385
Url: https://administrator.de/contentid/351385
Ausgedruckt am: 24.11.2024 um 18:11 Uhr
7 Kommentare
Neuester Kommentar
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.
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.
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)
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)
Hi,
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.
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.
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.
Ansonsten cmd als System mit psexec starten oder via cygwin und rm -rf /pfad drüber laufen lassen, klappt immer.