BildUmb

Benennt beliebig viele Bild-(oder andere)dateien in einem Arbeitsgang um.

Sollen Fotos in einer Fotogalerie im Internet oder auf einer CD veröffentlicht werden, müssen die Dateinamen häufig bestimmten Namenskonventionen genügen, z. B. um mit JavaScript-Funktionen effizienter verwaltet werden zu können. Hat man viele Dateien umzubenennen, ist das eine eintönige und ermüdende Arbeit, die überdies Fehlerquellen birgt.
Hier schafft das Programm BildUmb Abhilfe: Es kann viele hundert Dateien in einem oder wenigen Arbeitsgängen umbenennen. (Tip: Auch zum Umbenennen von anderen Dateien kann man es „mißbrauchen“ (s. u.)). Man kann es in zwei Betriebsarten benutzen:

Anleitung für die Benutzung im Kommandozeilenmodus:

Syntax:

BildUmb <Präfix_alt> <Präfix_neu> <Nr_Anfang> <Nr_Ende> [<Stellen_alt> [<Stellen_neu> [<Verschiebung> [<Suffix_alt> [<Suffix_neu>]]]]]

Angaben in eckigen Klammern können weggelassen werden, jedoch müssen bei Verwendung eines dieser Parameter auch alle vorherigen angegeben werden.

Was damit gemeint ist, erklärt folgendes Anwendungsbeispiel:

Gabi will an einen Kollegen mehrere Digitalfotos von einem Betriebsausflug schicken. Ihre Digitalkamera versieht diese mit Dateinamen der Form:
 IMG_101_007.JPG

Für die Bildergalerie im Intranet sollen sie jedoch in der Form
 Gabi-1234.jpg
vorliegen; außerdem sollen die Bilder mit aufeinanderfolgenden Nummern versehen sein, und schließlich sollen noch kleine Vorschaubilder erzeugt werden nach dem Muster:
 Gabi-1234k.jpg

Gabi hat keine Lust, die Bilder von Hand umzubenennen und bedient sich des Programms BildUmb. Das Programm arbeitet in zwei Stufen:

  1. Zunächst wird anhand der Benutzereingaben eine Stapelverarbeitungsdatei erzeugt (also eine Datei mit Betriebssystembefehlen, die für Windows/DOS und Linux unterschiedlich sind). Diese enthält die eigentlichen Umbenennungsbefehle.
  2. Im zweiten Schritt werden dann mit Hilfe dieser Datei die einzelnen Bilddateien umbenannt. Sollte man bei der Eingabe einen Fehler gemacht haben, kann nicht viel passieren, denn der Versuch, nicht vorhandene Dateien umzubenennen, führt lediglich zu einer Fehlermeldung des Betriebssystems; das Gleiche gilt, wenn versucht wird, eine vorhandene Datei in eine andere vorhandene Datei umzubenennen: In beiden Fällen findet keine Umbenennung statt.

Gabi hat auf dem Ausflug 30 Fotos gemacht. Diese tragen in ihrer Kamera die Namen IMG_101_081.JPG bis IMG_101_110.JPG. Einige Fotos (92 bis 95) sind jedoch nichts geworden, so daß sie sie nicht weitergeben will.

  1. Um die Fotos umzubenennen, legt sie auf ihrem Rechner als erstes ein leeres Verzeichnis an und kopiert die Bilddateien dort hinein. Das Programm BildUmb wird ebenfalls in diesem Verzeichnis abgelegt (oder in einem anderen Verzeichnis, das im Suchpfad vorkommt).
  2. Danach öffnet sie ein Befehlsfenster:
  3. Mit dem Befehl cd wechselt sie in das Verzeichnis, in dem die Bilder liegen: Mit cd .. wechselt man vom aktuellen Verzeichnis in das darüberliegende.
    \ (Windows/DOS) bzw. / (Linux) bezeichnet das Hauptverzeichnis des jeweiligen Laufwerks bzw. der gesamten Dateihierarchie.
  4. Als nächstes muß sie die Stapelverarbeitungsdatei erzeugen. Dazu gibt sie gemäß folgender Syntax ein:
    BildUmb <Präfix_alt> <Präfix_neu> <Nr_Anfang> <Nr_Ende> [<Stellen_alt> [<Stellen_neu> [<Verschiebung> [<Suffix_alt> [<Suffix_neu>]]]]]

    Angaben in eckigen Klammern können weggelassen werden, jedoch müssen bei Verwendung eines dieser Parameter auch alle vorherigen angegeben werden. Wenn Gabi also z. B. eine Verschiebung wünscht (s. u.), muß sie auch Angaben zu Stellen_alt und Stellen_neu machen.

    Dabei ist: Da manche Bildnummern verschoben werden müssen, muß Gabi das Programm zweimal ausführen: Jeweils nach der Eingabe des Befehls muß nun im Verzeichns eine Datei namens BildU.bat (Windows/DOS) bzw. BildU (Linux) stehen. Im Beispiel würde die Datei nach den jeweiligen Durchgängen so aussehen:

    Bildnummern Windows/DOS Linux
    81 - 92
    @echo off
    ren IMG_101_081.* Gabi-0081.jpg
    ren IMG_101_082.* Gabi-0082.jpg
    ren IMG_101_083.* Gabi-0083.jpg
    ren IMG_101_084.* Gabi-0084.jpg
    ren IMG_101_085.* Gabi-0085.jpg
    ren IMG_101_086.* Gabi-0086.jpg
    ren IMG_101_087.* Gabi-0087.jpg
    ren IMG_101_088.* Gabi-0088.jpg
    ren IMG_101_089.* Gabi-0089.jpg
    ren IMG_101_090.* Gabi-0090.jpg
    ren IMG_101_091.* Gabi-0091.jpg
    
    #!/bin/bash
    mv -i IMG_101_081.* Gabi-0081.jpg
    mv -i IMG_101_082.* Gabi-0082.jpg
    mv -i IMG_101_083.* Gabi-0083.jpg
    mv -i IMG_101_084.* Gabi-0084.jpg
    mv -i IMG_101_085.* Gabi-0085.jpg
    mv -i IMG_101_086.* Gabi-0086.jpg
    mv -i IMG_101_087.* Gabi-0087.jpg
    mv -i IMG_101_088.* Gabi-0088.jpg
    mv -i IMG_101_089.* Gabi-0089.jpg
    mv -i IMG_101_090.* Gabi-0090.jpg
    mv -i IMG_101_091.* Gabi-0091.jpg
    
    96 - 110
    @echo off
    ren IMG_101_096.* Gabi-0092.jpg
    ren IMG_101_097.* Gabi-0093.jpg
    ren IMG_101_098.* Gabi-0094.jpg
    ren IMG_101_099.* Gabi-0095.jpg
    ren IMG_101_100.* Gabi-0096.jpg
    ren IMG_101_101.* Gabi-0097.jpg
    ren IMG_101_102.* Gabi-0098.jpg
    ren IMG_101_103.* Gabi-0099.jpg
    ren IMG_101_104.* Gabi-0100.jpg
    ren IMG_101_105.* Gabi-0101.jpg
    ren IMG_101_106.* Gabi-0102.jpg
    ren IMG_101_107.* Gabi-0103.jpg
    ren IMG_101_108.* Gabi-0104.jpg
    ren IMG_101_109.* Gabi-0105.jpg
    ren IMG_101_110.* Gabi-0106.jpg
    
    #!/bin/bash
    mv -i IMG_101_096.* Gabi-0092.jpg
    mv -i IMG_101_097.* Gabi-0093.jpg
    mv -i IMG_101_098.* Gabi-0094.jpg
    mv -i IMG_101_099.* Gabi-0095.jpg
    mv -i IMG_101_100.* Gabi-0096.jpg
    mv -i IMG_101_101.* Gabi-0097.jpg
    mv -i IMG_101_102.* Gabi-0098.jpg
    mv -i IMG_101_103.* Gabi-0099.jpg
    mv -i IMG_101_104.* Gabi-0100.jpg
    mv -i IMG_101_105.* Gabi-0101.jpg
    mv -i IMG_101_106.* Gabi-0102.jpg
    mv -i IMG_101_107.* Gabi-0103.jpg
    mv -i IMG_101_108.* Gabi-0104.jpg
    mv -i IMG_101_109.* Gabi-0105.jpg
    mv -i IMG_101_110.* Gabi-0106.jpg
    
    96 - 110
    (Vorschau-
    bilder)
    @echo off
    ren IMG_101_096k.* Gabi-0092k.jpg
    ren IMG_101_097k.* Gabi-0093k.jpg
    ren IMG_101_098k.* Gabi-0094k.jpg
    ren IMG_101_099k.* Gabi-0095k.jpg
    ren IMG_101_100k.* Gabi-0096k.jpg
    ren IMG_101_101k.* Gabi-0097k.jpg
    ren IMG_101_102k.* Gabi-0098k.jpg
    ren IMG_101_103k.* Gabi-0099k.jpg
    ren IMG_101_104k.* Gabi-0100k.jpg
    ren IMG_101_105k.* Gabi-0101k.jpg
    ren IMG_101_106k.* Gabi-0102k.jpg
    ren IMG_101_107k.* Gabi-0103k.jpg
    ren IMG_101_108k.* Gabi-0104k.jpg
    ren IMG_101_109k.* Gabi-0105k.jpg
    ren IMG_101_110k.* Gabi-0106k.jpg
    
    #!/bin/bash
    mv -i IMG_101_096k.* Gabi-0092k.jpg
    mv -i IMG_101_097k.* Gabi-0093k.jpg
    mv -i IMG_101_098k.* Gabi-0094k.jpg
    mv -i IMG_101_099k.* Gabi-0095k.jpg
    mv -i IMG_101_100k.* Gabi-0096k.jpg
    mv -i IMG_101_101k.* Gabi-0097k.jpg
    mv -i IMG_101_102k.* Gabi-0098k.jpg
    mv -i IMG_101_103k.* Gabi-0099k.jpg
    mv -i IMG_101_104k.* Gabi-0100k.jpg
    mv -i IMG_101_105k.* Gabi-0101k.jpg
    mv -i IMG_101_106k.* Gabi-0102k.jpg
    mv -i IMG_101_107k.* Gabi-0103k.jpg
    mv -i IMG_101_108k.* Gabi-0104k.jpg
    mv -i IMG_101_109k.* Gabi-0105k.jpg
    mv -i IMG_101_110k.* Gabi-0106k.jpg
    
  5. Im letzten Schritt wird die soeben erzeugte Stapelverarbeitungsdatei ausgeführt: Danach sind die Dateien umbenannt. Die Punkte „Erzeugung der Stapelverarbeitungsdatei“ und „Ausführung“ müssen jedoch für jeden Durchgang erneut ausgeführt werden, da die Stapelverarbeitungsdatei jeweils überschrieben wird:
    Also zunächst die Datei BildU.bat bzw. BildU für die Bildnummern 81 bis 91 erzeugen, dann ausführen. Dann sind die Bilder 81 bis 91 umbenannt. Danach die Schritte für die Nummern 96 bis 110 mit der leicht veränderten Befehlszeile wiederholen.

    Tip: Unter Windows NT und höher und unter Linux kann man im Befehlsfenster mit der „Pfeil-nach-oben“-Taste die vorhergehenden Kommandozeilenbefehle wieder aufrufen, ggf. verändern und erneut ausführen. So spart man sich viel Schreibarbeit bei der wiederholten Verwendung gleicher oder ähnlicher Befehlszeilen wie in unserem Beispiel. Unter DOS und Windows 95/98 kann man zumindest mit der „Pfeil-nach-rechts“-Taste den vorigen Befehl Zeichen für Zeichen wieder hervorholen.
  6. Am Ende kann die Stapelverarbeitungsdatei gelöscht werden.
  7. Tip: Mit BildUmb kann man nicht nur Bilddateien mit der Endung .jpg umbenennen, sondern grundsätzlich jeden Dateityp. Zwar haben nach der Umbenennung alle Dateien die Endung .jpg, aber mit einem einfachen Befehl kann man allen .jpg-Dateien in einem Verzeichnis auf einmal eine andere Endung geben. Haben Ihre Dateien z. B. die Endung .html, geben Sie unter Windows/DOS einfach ein:
    ren *.jpg *.html
    Danach haben alle Dateien, die vohrer mit .jpg endeten, die Endung .html (auch die, die gar nicht an der Umbenennung beteiligt waren; daher bietet sich dieses Verfahren nur an, wenn keine solchen Dateien im Verzeichnis liegen). Statt .html kann natürlich auch jede andere Endung verwendet werden.


letzte Änderung: 02.02.2012