Mehrfach-Umbennen-Tool im "Batch-Modus"?
Moderators: Hacker, Stefan2, white
Mehrfach-Umbennen-Tool im "Batch-Modus"?
Hallo,
ich möchte gerne bei einer Vielzahl von Dateien die Umlaute, Sonderzeichen usw. umwandeln, also "ä" zu "ae", "ö" zu "oe", "ß" zu "ss" usw.
Gibt es eine Möglichkeit, das in _einem_ Durchgang zu machen? Oder vielleicht über einen RegEx-String?
Danke, Sigurd
ich möchte gerne bei einer Vielzahl von Dateien die Umlaute, Sonderzeichen usw. umwandeln, also "ä" zu "ae", "ö" zu "oe", "ß" zu "ss" usw.
Gibt es eine Möglichkeit, das in _einem_ Durchgang zu machen? Oder vielleicht über einen RegEx-String?
Danke, Sigurd
Das geht nur in mehreren Durchgängen, weil Du nur zusammenhängende Strings suchen & ersetzen kannst.
Für solche umfangreichen Ersetzungen bietet sich eine Batchdatei an. Schau Dir mal das Kommandozeilenprogramm Renamer an, damit ist sowas ein Kinderspiel.
Kopier die Batchdatei einfach in den Ordner, den Du bearbeiten willst und führ sie aus. Durch den Schalter -s werden auch die Unterordner bearbeitet. Mach Backups, wenn Du Dir unsicher bist.
bkren -s "(.*)Ä(.*)" "\1Ae\2"
bkren -s "(.*)ä(.*)" "\1ae\2"
bkren -s "(.*)Ö(.*)" "\1Oe\2"
bkren -s "(.*)ö(.*)" "\1oe\2"
bkren -s "(.*)Ü(.*)" "\1Ue\2"
bkren -s "(.*)ü(.*)" "\1ue\2"
bkren -s "(.*)ß(.*)" "\1ss\2"
Icfu
Für solche umfangreichen Ersetzungen bietet sich eine Batchdatei an. Schau Dir mal das Kommandozeilenprogramm Renamer an, damit ist sowas ein Kinderspiel.
Kopier die Batchdatei einfach in den Ordner, den Du bearbeiten willst und führ sie aus. Durch den Schalter -s werden auch die Unterordner bearbeitet. Mach Backups, wenn Du Dir unsicher bist.

bkren -s "(.*)Ä(.*)" "\1Ae\2"
bkren -s "(.*)ä(.*)" "\1ae\2"
bkren -s "(.*)Ö(.*)" "\1Oe\2"
bkren -s "(.*)ö(.*)" "\1oe\2"
bkren -s "(.*)Ü(.*)" "\1Ue\2"
bkren -s "(.*)ü(.*)" "\1ue\2"
bkren -s "(.*)ß(.*)" "\1ss\2"
Icfu
Last edited by icfu on 2004-07-30, 14:21 UTC, edited 1 time in total.
This account is for sale
Ich hab meinen Beitrag editiert, kannst Du so übernehmen.
Nicht vergessen, Du mußt die Batchdatei entweder in einem DOS-Editor erstellen, edit.com z.B., oder mittels eines einfachen Texteditors vom ANSI- ins OEM-Format wandeln, ansonsten klappt's nicht!
Dafür empfehle ich Metapad.
Icfu
Nicht vergessen, Du mußt die Batchdatei entweder in einem DOS-Editor erstellen, edit.com z.B., oder mittels eines einfachen Texteditors vom ANSI- ins OEM-Format wandeln, ansonsten klappt's nicht!
Dafür empfehle ich Metapad.
Icfu
This account is for sale
Hallo icfu,
tja, und nun tauchen doch Probleme auf:
Mit deinen Zeilen werden " - " (LeerstelleMinusLeerstelle) zu Ae und ähnliche Dinge passieren.
Es geht mir darum, größere Mengen MP3-Dateien (Schule mit vielen Fremdsprachen-MP3s, über Samba im Netz zur Verfügung gestellt) für BackUps sauber in tar-Archive zu packen. Hierfür sollen alle nicht-konformen Zeichen umgewandelt werden, also Leerstellen in Unterstriche, Apostroph, Satzzeichen usw., Zeichen, die unter Windows pur in der Regel keine Probleme machen. Vielleicht existiert hiezu ja irgendwo auch ein Extra-Tool.
Sigurd
tja, und nun tauchen doch Probleme auf:
Mit deinen Zeilen werden " - " (LeerstelleMinusLeerstelle) zu Ae und ähnliche Dinge passieren.
Es geht mir darum, größere Mengen MP3-Dateien (Schule mit vielen Fremdsprachen-MP3s, über Samba im Netz zur Verfügung gestellt) für BackUps sauber in tar-Archive zu packen. Hierfür sollen alle nicht-konformen Zeichen umgewandelt werden, also Leerstellen in Unterstriche, Apostroph, Satzzeichen usw., Zeichen, die unter Windows pur in der Regel keine Probleme machen. Vielleicht existiert hiezu ja irgendwo auch ein Extra-Tool.
Sigurd
Genau so ist es.
sigmahr, Du hast falsch konvertiert. Statt von ANSI nach OEM, wie ich geschrieben habe (alles markieren im Metapad und F11 drücken), hast Du von OEM nach ANSI konvertiert...
Deine zusätzlichen Wünsche kannst Du selbst einbauen:
Leerzeichen in Unterstrich wandeln:
bkren -s "(.*) (.*)" "\1_\2"
Apostroph in Unterstrich wandeln:
bkren -s "(.*)'(.*)" "\1_\2"
usw...
Du mußt nur beachten, daß Du die Batch mehrmals ausführen mußt, wenn Du Dateien in Deinem Pool hast, die ein Sonderzeichen doppelt haben, z.B. zwei "ä" in einem Dateinamen, denn es wird pro Durchgang immer nur ein Sonderzeichen jeder Sorte gewandelt.
Icfu
sigmahr, Du hast falsch konvertiert. Statt von ANSI nach OEM, wie ich geschrieben habe (alles markieren im Metapad und F11 drücken), hast Du von OEM nach ANSI konvertiert...
Deine zusätzlichen Wünsche kannst Du selbst einbauen:
Leerzeichen in Unterstrich wandeln:
bkren -s "(.*) (.*)" "\1_\2"
Apostroph in Unterstrich wandeln:
bkren -s "(.*)'(.*)" "\1_\2"
usw...
Du mußt nur beachten, daß Du die Batch mehrmals ausführen mußt, wenn Du Dateien in Deinem Pool hast, die ein Sonderzeichen doppelt haben, z.B. zwei "ä" in einem Dateinamen, denn es wird pro Durchgang immer nur ein Sonderzeichen jeder Sorte gewandelt.
Icfu
This account is for sale
- ghisler(Author)
- Site Admin
- Posts: 50549
- Joined: 2003-02-04, 09:46 UTC
- Location: Switzerland
- Contact:
Auch das wird in der nächsten TC-Version gehen! Syntax:
Suchen nach: ä|ö|ü|ß
Ersetzen durch: ae|oe|ue|ss
Die naechste Version ist für diesen Herbst geplant.
Suchen nach: ä|ö|ü|ß
Ersetzen durch: ae|oe|ue|ss
Die naechste Version ist für diesen Herbst geplant.
Author of Total Commander
https://www.ghisler.com
https://www.ghisler.com
es wäre doch schön der pc sartet morgens selbsttätig und der PC
der löst aus dsa der kaffe gekocht das ei gekocht und der toast gemacht wird.
dann begrüst einen einen nette französiche Frauen stimme
und sagt zeit datum an und ob mann zu spät dran ist.
dann kommen die Wetter daten und die schlagzeilen.
wenn mann sich eine pizza in den ofen schiebt dann drpckt mann den timer button eben so den timer button fürs tee kochen und gut
TC sieht dann auch noch witzig aus und so weiter.
dann wählt TC die email konten an holt das runter sortiert das nach wichtig keit und alles wird gut.
Hernach werden die üblichen foren und wichtigen privaten und beruflichen websites angesurft und nach aktuellem gecheckt.
herlich der pc mein rechen knecht.
der löst aus dsa der kaffe gekocht das ei gekocht und der toast gemacht wird.
dann begrüst einen einen nette französiche Frauen stimme
und sagt zeit datum an und ob mann zu spät dran ist.
dann kommen die Wetter daten und die schlagzeilen.
wenn mann sich eine pizza in den ofen schiebt dann drpckt mann den timer button eben so den timer button fürs tee kochen und gut
TC sieht dann auch noch witzig aus und so weiter.
dann wählt TC die email konten an holt das runter sortiert das nach wichtig keit und alles wird gut.
Hernach werden die üblichen foren und wichtigen privaten und beruflichen websites angesurft und nach aktuellem gecheckt.
herlich der pc mein rechen knecht.
Hi,
Vorweg: War im Urlaub und kann deshalb erst jetzt antworten.
@tthorsten: Ich würde mir mal was anderes zum Rauchen besorgen, das Zeugs war nicht besonders gut
Ansonsten Danke für die Hinweise, ich habe tatsächlich ANSI-OEM durcheinander gebracht.
@Ghisler (Author): Solche Dateioperationen sind wirklich praktisch und ich würde es begrüßen, wenn solche Umwandlungen in einem Durchgang möglich wären. Praktisch fände ich es auch, wenn es in einem anderen Zusammenhang (Editor) eine Umwandlung der Zeilenumbrüche Win/Unix(Linux) geben würde. Aber das ist wohl eine andere Baustelle...
sigmahr
Vorweg: War im Urlaub und kann deshalb erst jetzt antworten.
@tthorsten: Ich würde mir mal was anderes zum Rauchen besorgen, das Zeugs war nicht besonders gut

Ansonsten Danke für die Hinweise, ich habe tatsächlich ANSI-OEM durcheinander gebracht.
@Ghisler (Author): Solche Dateioperationen sind wirklich praktisch und ich würde es begrüßen, wenn solche Umwandlungen in einem Durchgang möglich wären. Praktisch fände ich es auch, wenn es in einem anderen Zusammenhang (Editor) eine Umwandlung der Zeilenumbrüche Win/Unix(Linux) geben würde. Aber das ist wohl eine andere Baustelle...
sigmahr
Richtig Baustelle: ->Editoren<-Praktisch fände ich es auch, wenn es in einem anderen Zusammenhang (Editor) eine Umwandlung der Zeilenumbrüche Win/Unix(Linux) geben würde. Aber das ist wohl eine andere Baustelle

Räubi
(#2852 + #287609)
(#2852 + #287609)