Push-Nachrichten von MacTechNews.de
Würden Sie gerne aktuelle Nachrichten aus der Apple-Welt direkt über Push-Nachrichten erhalten?
Forum>Software>Dateinamen finden über 127 Zeichen - wie?

Dateinamen finden über 127 Zeichen - wie?

Tomboman16.12.1418:08
Hi,
ich suche eine Möglichkeit, Dateinamen mit einer Länge über 127 Zeichen zu finden.

Ich habe mir ein NAS zugelegt, das kann nicht mehr. Wenn ich Ordner kopiere, teilweise mit 500GB bricht er manchmal kurz vorher ab, weil noch eine Datei drin ist, sehr nervig.

Vielleicht weiß ja wer was
0

Kommentare

r.breiner
r.breiner16.12.1420:41
Leider habe ich keine Funktion dieser Art in Automator o.ä. gefunden, aber Google hilft.
Du könntest im Terminal folgendes eingeben:

find . -type f -name '????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????*'

Damit bekommst Du zumindest schon mal eine Auflistung aller Dateien, deren Name 128 Zeichen (Anzahl der Fragezeichen) und länger (das *) sind. Idealerweise navigierst Du vorher in den obersten Ordner des Ordnerbaums, in dem Du die Dateien vermutest. Ansonsten könntest Du lästigerweise auch Systemdateien angezeigt bekommen.
Quelle:

EDIT: Achtung, die Code Anzeige von MTN hat zwischen den Fragezeichen auch ein Leerzeichen reingezaubert. Dieses solltest Du natürlich entfernen, bevor Du im Terminal "Enter" drückst.
0
MikeMuc16.12.1421:17
Sind es nur die langen Dateinamen? Da fallen mir spontan noch Pfade mit mehr als 512 Zeichen Länge ein oder Dateinamen mit speziellen Zeichen.
Also welches NAS hast du da erwischt? Damit man da zukünftig einen Bogen drum machen kann.
0
Tomboman16.12.1423:30
r.breiner:
danke für den temrinal tipp! ich habe unter apfel-F im finder nicht wirklich was gefunden leider.

es hilft mir schon einmal ein bisschen, leider werden die 128 zeichen nicht nur für den dateinamen gezählt, sondern auch die kompletten verzeichnisse wo die datei liegt. ich such da morgen mal bei google weiter, aber hilft schon mal sehr - vielen dank dafür!

mikemuc:
das sollte eigentlich eine sehr gute wahl sein. Synology, 1515+
0
MikeMuc17.12.1400:13
Öha,keine Pfade die Länger als 128 Zeichen sind.
Wenn sich das bewahrheitet dann Gute Nacht. Das Gerät bzw. das BS darauf gehört VERBOTEN. Für mich wäre das ein sofortiger Rückgabegrund den Pfade mit der Länge hat man doch recht schnell beisammen
Mit welchen Dateisystem sind die Platten formatiert? Kommt die Beschränkung von dort oder hat da Synology gespart? Laut kann NTFS zB Dateinnamen mit 255 Zeichen und Pfade bis zu 32.767 Zeichen. Eventuell hast du aber auch nur irgendwelche Zeichen im Pfad oder Namen (gerne auch unsichtbare) die dir da Ärger bereiten.

Wo hast du die Information mit den 127 Zeichen her oder was hast du für eine Fehlermeldung bekommen?
0
dom_beta17.12.1402:39
Tomboman
Dateinamen mit einer Länge über 127 Zeichen

wie kommt man dazu für einen Dateinamen 127 Zeichen zu benutzen? Sprechdurchfall?
„...“
0
Tomboman17.12.1407:21
mikemuc:
die pfade bertrifft nur den temrinal befehl. bei der synology geht es "lediglich" um den dateinamen.

es ist nur nicht hilfreich, wenn man im terminal 95% der ergebnisse nicht beachten muss, da es nur um den pfad geht.

es kam eine fehlermeldung beim kopieren, dass dateinamen mit mehr als 127 zeichen nicht kopiert werden können. da stand was dabei, aufgrund besserer "kompatibilität".

dom_beta
das is ja das doofe, es sind nicht viele dateien, aber die ausfindig machen, ist nicht einfach. ein beispiel: safari website, drucken als pdf, enter, und schwupp, dateiname war über 127 zeichen
0
Tomboman17.12.1407:52
halt, es funktioniert
ich hatte gerade gemerkt, dass in den gefunden dateinamen, öfter ein backslash vorgekommen ist, also hatten die dateinamen wirklich 127 zeichen. dachte es wäre im 6ten unterverzeichnis

danke nochmal für die hilfe!!
0
Marcel_75@work
Marcel_75@work17.12.1408:07
Es gibt bei Synology meines Wissens nach eine Limitierung der Datei- und Ordnernamenlänge, wenn man die Verschlüsselung des Dateisystems aktiviert.

Da ich auch eine "große" nutze (Synology DS2413+), ist mir das recht vertraut. Allerdings bilde ich mir ein, dass bei aktivierter Verschlüsselung die Limitierung bei 167 Zeichen lag und ohne aktivierte Verschlüsselung zumindest 254 Zeichen möglich sein sollten?
0
camaso
camaso17.12.1408:49
Hab das grad mit meiner QNAP ausprobiert, war kein Problem.
0
almdudi
almdudi17.12.1418:03
dom_beta
wie kommt man dazu für einen Dateinamen 127 Zeichen zu benutzen? Sprechdurchfall?
Na bei per MediatheView heruntergeladenen Filmchen kommt man schnell mal auf über 100 Zeichen, über 127 würden mich da auch nicht erstaunen.
0
Tomboman17.12.1418:23
ja das hat mit der verschlüsselung zu tun, bin gerade am probieren den genauen wert zu finden. ca. 140 zeichen
0
jogoto18.12.1408:21
Mal noch ein anderer Ansatz: kopiere doch im Terminal mit ditto.
1. bricht der Kopiervorgang nicht bei einem Fehler ab
2. kannst Du Dir alle Fehler mit Dateinamen und -pfaden ausgeben lassen
0
Tomboman18.12.1410:00
war perfektes timing. jetzt hat er mir schon wieder nach 3 stunden abgebrochen, weil wohl ein zeichen zu lang war...
jetzt läuft gerade ditto (und ich lerne terminal befehle

schade dass man im finder sich die nicht einfach anzeigen lassen kann. kurz quicklook, und umbenennen oder gleich löschen, und problem wäre sooo einfach

danke!!
0
liGhun
liGhun18.12.1414:35
Auch wenn das simple abzählen der Zeichen funktioniert - ein regulärer Ausdruck ist da angenehmer in der Pflege:

find . -type f -exec basename {} \; | grep -E ".{127,}"

(findet alle Dateinamen mit 127 oder mehr Zeichen und gibt diese aus (den Namen, nicht den Pfad)
0
liGhun
liGhun18.12.1414:44
Wenn man den ganzen Pfad will, dann geht es so:

find . -type f | grep -E "^(.+)/[^/]{127,}$"

"{127,}" = 127 oder mehr Zeichen
[^/] = alles außer einem "/"
$ = am Ende
Also 127 Zeichen oder mehr, welche nicht "/" sind vom Ende des Pfades aus gezählt
0
MikeMuc18.12.1414:52
iGhun
Danke, das ist doch mal eine Erklärung. Du wirst hiermit ab sofort als Greporakel im Forum angestellt
0
Umfrage

iGhun muß alle Grep-Fragen beantowrten

  • ich bin dafür
    100,0 %
  • ich bin dagegen
    0,0 %
liGhun
liGhun18.12.1414:57
Last but least: da ich das bei mir natürlich gleich ausprobieren musste: zumindest in meinem Fall liegen solch lange Dateinamen wohl alle in "./Library/Caches"-Ordnern und da könnte man drüber nachdenken, die gleich im selben Rutsch zu löschen...

Zur Sicherheit würde ich dann aber die Suche für das Löschen entsprechend anpassen:

find . -type f | grep -E "^\./Library/Caches/(.+)/[^/]{127,}$"

(davon ausgehend, dass man es Heimatverzeichnes des Nutzers gestartet hatte, sonst passt das "beginnt mit ./Library/Caches" natürlich nicht und müsste angepasst werden.

Und jetzt der finale Schritt (mit ganz viel Vorsicht und vorher 10* überprüfen) - an den Ausdruck oben einfach

 | rm

anhängen und die Dateien werden gelöscht. Aber wirklich Vorsicht - ein Vertipper und die Platte wird recht intensiv geputzt...
0
someone18.12.1415:21
liGhun
| rm

Echt jetzt? Ueblicherweise muesste das auf einem Unix so heissen:
| xargs rm
0
liGhun
liGhun18.12.1415:27
Oh man - @someone hat natürlich recht. Man merkt, dass ich den lieber nicht ausprobiert habe
0
someone18.12.1415:43
liGhun
Man merkt, dass ich den lieber nicht ausprobiert habe
Du Memme
0

Kommentieren

Diese Diskussion ist bereits mehr als 3 Monate alt und kann daher nicht mehr kommentiert werden.