# Batch zum umbenennen



## hämma (30. März 2004)

Hallo!

Ich habe folgendes Problem:

Ich habe einen Ordner mit etwa 200 Untererordnern die jeweils 300-400 Tiffs enthalten.

Die Tiffs sind jeweils nummeriert von 000001 bis 000400.

Nun sollen die Dateien in jedem Ordner umbenannt werden.

Es handelt sich um Scans von Zweiseitigen Dokumenten, deshalb sollen alle Tiffs mit ungerader Endstelle (1,3,7,9) ein "a" ans Ende gestellt bekommen und alle mit einer geraden Endstelle ein "b" außerdem sollen alle durchnummeriert werden, so daß die Dokumente für a und b die gleiche Numer erhalten.

aus

0000001.tif
0000002.tif
0000003.tif
0000004.tif
0000005.tif
0000006.tif
...
0000199.tif
0000200.tif

soll werden

0000001a.tif
0000001b.tif
0000002a.tif
0000002b.tif
0000003a.tif
0000003b.tif
...
0000100a.tif
0000100b.tif

... und das in jedem der Unterordner...

Alle meine Versuche das Problem zu lösen, sind bisher klaglos gescheitert...

Da ich vor diesem Problem ständig wiederholt stehe, suche ich verzweifelt nach einer Möglichkeit, den Vorgang zu automatisieren.

Sei noch dazu gesagt, ich zähle mich nicht gerade zu den fortgeschrittenen Batch-Programmierern...

Hat von euch vielleicht jemand ein Idee?


----------



## Retlaw (31. März 2004)

Erstmal kannst Batch vergessen, das ist veraltet und kann vieles nicht.
Für sowas kannst z.B. VBS oder JS aus dem WSH verwenden.

Vorgehensweise:
Mit einer rekursiven Funktion alle Dateien im angegebenen Verzeichnis und dessen Unterverzeichnisen durchlaufen.
Im Dateinamen alles ab dem Punkt abschneiden und in eine Zahl umwandeln, prüfen ob die Zahl gerade ist (teilbar durch zwei).
Wenn ja, Datei umbenennen in (ZahlVomAltenNamen+1)/2&"a.tif", wenn nein umbenennen in ZahlVomAltenNamen/2&"b.tif".


----------

