Es war an der Zeit Daten eines QNAP-NAS auf einen anderen Netzwerkspeicher zu migrieren. Als Tool hatte ich dazu WinSCP verwendet um die Dateien via SCP auf einer externen Festplatte zwischenzuspeichern. Jedoch hat es mir dabei alle Umlaute aus Dateinamen in nicht lesbare Zeichen umgewandelt:
Sperrmüll.jpg wurde zu Sperrm¦ll.jpg Häuser.docx wurde zu H¦user.docx
Im Nachhinein lag es vermutlich an der falschen Codepage die im QNAP Webinterface falsch eingestellt war. Eine nachträgliche Änderung brachte jedoch auch keine Verbesserung mehr.
Also mussten ich die Dateien alle wieder korrekt umbenennen. Das habe ich mit Hilfe des ConvMV Tools gemacht, wie hier beschrieben:
Schritt 1: Perl installieren (OPKG Paket)
Über das QNAP Webinterface kann über dass „App Center“ Perl installiert werden. Dies benötigen wir um später das Tool „convmv“ auszuführen.
Schritt 2: ConvMV herunterladen
Eventuell gibt es schon eine neuere Version, kann hier nachgeschaut werden.
wget https://www.j3e.de/linux/convmv/convmv-2.0.tar.gz --no-check-certificate
Schritt 3: ConvMV Entpacken
tar xzf convmv-2.0.tar.gz cd convmv-2.0/ config_util
Schritt 4: ConvMV / Perl Pfad anpassen
Da bei QNAP der Pfad für Extensions nicht unter /bin/ liegt muss in der ersten Zeile des convmv Skriptes der korrekte Perl Pfad angegeben werden. Dieser sollte bei QNAP dieser sein, kann bei Synology ggf. variieren:
#!/share/MD0_DATA/.qpkg/Optware//bin/perl
Schritt 5: ConvMV im Testmodus durchlaufen lassen
Hier wird angegeben, dass wir Dateien aus dem Format „ISO-8859-1“ in „UTF8“ umbenennen wollen. Es wird noch nichts umbenannt, nur eine Ausgabe mit den Änderungen vorgegeben.
/share/Constey/temp/convmv-2.0/convmv -f iso-8859-1 -t utf8 -r /share/Constey/Privat/
Schritt 6: Änderung durchführen
Sieht die Ausgabe korrekt aus, wird der Parameter „–notest“ angehängt, damit werden die Dateien dann auch endgültig umbenannt.
Bsp: mv "/share/Constey/Privat/Garage Sperrm¦ll.jpg" "/share/Constey/Privat/Garage Sperrmüll.jpg" mv "/share/Constey/Privat/H¦user.docx" "/share/Constey/Privat/Häuser.docx" Skipping, already UTF-8: /share/Constey/Privat/Pictures/2016-04-16/Königslutter (16).jpg Skipping, already UTF-8: /share/Constey/Privat/Pictures/2016-04-16/Königslutter (7).jpg Ready! I converted 2002 files in 155 seconds.
Codepage im QNAP Webinterface einstellen:
Unter „Systemeinstellungen -> Allgemeine Einstellungen“ findet man den Reiter „Codeseite“ dort kann man die Dateinamenkodierung auf „Westeuropäisch/Latin1“ umstellen.
Hi Constey,
QNAP TS-831X (ARMv7), QOS 4.3.3.0238 (latest Build)
ich bekomme folgende Fehler:
1) config_util: command not founf
2) Bei der Ausführung von convmv :
Can’t locate Getopt/Long.pm in @INC (you may need to install the Getopt::Long module) (@INC contains: /opt/lib/perl5/5.20 .)
Hast Du eine Idee?
Danke im voraus und beste Grüße
Oli
Hi Constey & Oli,
ich habe das eben auf einer Synology DS218+ ausgeführt – danke für die Anleitung!
@Oli:
Ich habe die convmv-2.04 heruntergeladen und folgendes gemacht (nach dem tar xzf und cd in das neue Verzeichnis):
config_util gab es bei mir auch nicht.
Ich musste die Datei „convmv“ mit einem Editor öffnen (Synology: vi) und die erste Zeile auf den Pfad zur Perl-Installation ändern.
Für dich ist der Pfad vermutlich wie oben angegeben.
Falls andere Synology-User auf diesen Post stoßen: Der Pfad zu Perl aus dem Paketzentrum lautet:
/volume1/@appstore/Perl/usr/bin$
Constey, kannst du das vielleicht auch mit im Blog erwähnen? 🙂