Am Sonntag, 15. November 2009 00:05:36 schrieb David Haller: Hallo David,
==== UNGETESTET!!! ==== #!/usr/bin/perl -w use strict; use File::Find; @ARGV[0] or push(@ARGV, "."); sub wanted { if( s/\x{ef}\x{bf}\x{bd}/_/ ) { if( -e $_ ) { print STDERR "$_ already exists!\n"; return; } print "mv -i '$File::Find::name' -> '$_'\n"; # rename($File::Find::name, $_); } } find({ wanted => \&wanted, no_chdir => 1, follow => 1 }, @ARGV); =====
Funktioniert hier mit ner einfachen Testdatei. Erstmal bitte mit dem print testen, dann ggfs. das 'rename' scharfschalten (und das print auskommentieren).
Hier noch ein paar solche Dateinamen.
fr???hstueck blumenstrau???2
Problem: ist immer obige Bytefolge. Daher auch die Ersetzung durch "_". Dann kannst du wenigstens einfacher per Hand umbenennen.
Ich habe festgestellt, dass da KMail etwas am Zeichen ändert, denn, wenn ich das Beispiel als Testdatei anlege, dann kann ich es mit Konqueror editieren. Ich muss also auf einen Fall warten, wo ich wieder so eine Datei bekomme. Ich habe diese Dateien so schnell als möglich gelöscht und manuell korrigiert und mir leider kein Beispiel aufbehalten. Al -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org