thlk schrieb:
[…] Ordner von einer externen auf eine andere externe Festplatte kopieren
Es ist eine schlechte Idee, dabei die Art des Dateisystems zu ändern. Also kopiere von ext4 nach ext4, von NTFS nach NTFS, von FAT nach FAT, aber nicht von ext4 nach NTFS. Der Grund hierfür ist, dass die unterschiedlichen Dateisysteme auch unterschiedliche Vorstellungen von der Gültigkeit der Dateinamen haben. Die Idee wird beim Transfer zwischen unterschiedlichen Dateisystemarten umso schlechter, je mehr Dateien man mit einem Auftrag kopieren möchte.
[…] suche ich einen Befehl, der korrupte Dateinamen automatisch korrigiert. Geht das per GUI? Oder nur im Terminal?
Es geht gar nicht. Das Problem fängt schon damit an, dass der Begriff „korrupter Dateiname“ gar nicht unabhängig vom Dateisystem zu definieren ist. Die Dateien liegen offenbar mit im Ursprungssystem gültigen Dateinamen vor, die jedoch im anderen Dateisystem unzulässig sind.
Du musst erst einmal herausfindenden, welche Zeichen im Zielsystem für Dateinamen zulässig und welche unzulässig sind. Bei Linux mit ext4 ist die Liste kurz: Unzulässig sind NUL (ASCII = 0x00) und der Schrägstrich „/“. Bei Windows ist die Situation kompliziert. Siehe z.B.:
Eine einfache Lösung für Deine Kopieraktion:
Schreibe ein kleines Skript, welche einen übergebenen Dateinamen auf unerwünschte (nach Deiner eigenen Definition!) Zeichen prüft und diese durch Ersatzzeichen ersetzt oder löscht. Verwende dann den so korrigierten Dateinamen, um die Datei ins andere Dateisystem zu kopieren.
Durchsuche den Ursprungsbestand mit find und rufe für jede Datei Dein Skript auf.