• Willkommen im Linux Club - dem deutschsprachigen Supportforum für GNU/Linux. Registriere dich kostenlos, um alle Inhalte zu sehen und Fragen zu stellen.

[Tipp] Skript zur Batch-Umbenennung von Bilddateien

Hallo,

als ich vor einiger Zeit mit gwenview viele jpg-Dateien aus meiner Digitalkamera umbenennen wollte, ging das wegen eines Programm-Fehlers nicht. Ich habe dann ein wenig experimentiert und ein kleines Skript geschrieben, das bei mir, im Verzeichnis der umzubenennenden Bilder gestartet, bisher gute Dienste geleistet hat.

Der neue Name des Bildes besteht aus einem vorderen Teil, der Dateimaske, die dann bei allen Bildern gleich ist, und einem immer dreistelligen hinteren Teil, der Bildnummer. Die erste Nummer ist frei wählbar.
Das Ergebnis wird vor der eigentlichen Umbenennung auf der Konsole angezeigt und ist dann noch zu korrigieren. z.B.:

imgp0001.jpg Geburtstag005.jpg
imgp0002.jpg Geburtstag006.jpg
imgp0003.jpg Geburtstag007.jpg
imgp0004.jpg Geburtstag008.jpg
imgp0005.jpg Geburtstag009.jpg

Mit dem Skript geht es, wie ich finde, schneller als sich durch graphische Programme zu klicken. Vielleicht ist es für den einen oder anderen auch nützlich - Rückmeldungen oder Kommentare sind sehr willkommen!!

Jürgen


#! /bin/bash

echo "Batch-Umbenennung von .jpg-Dateien,im gewünschten Ordner starten!"
echo -n "Bitte Bilddateien auswählen:"
read d

echo -n "Dateimaske:"
read m

echo -n "Beginn mit Bildnummer:"
read n
n2=$n
echo

echo "Die Umbenennung ergibt:"
for v in $d; do
case $n2 in
? )
echo $v $m'00'$n2.jpg
n2=$[n2+1];;
?? )
echo $v $m'0'$n2.jpg
n2=$[n2+1];;
??? )
echo $v $m$n2.jpg
n2=$[n2+1];;
esac
done

echo -n "ok? Bitte mit j oder n bestätigen:"
read b

case $b in
j )
for v in $d; do
case $n in
? )
mv -i $v $m'00'$n.jpg
n=$[n+1];;
?? )
mv -i $v $m'0'$n.jpg
n=$[n+1];;
??? )
mv -i $v $m$n.jpg
n=$[n+1];;
esac
done;;
n )
echo "Zur Korrektur bitte Script neu starten!"
sleep 2
exit;;
esac
 

cero

Guru
Bei dem Script kann ich dir nicht helfen, aber es gibt einige Tools, die beim
Umbenennen helfen:
-Krename
-Krusader
-Kim
-...

Vielleicht ist da ja was bei.
Ich möchte das Script nich benachteiligen, da es natürlich auch funktionieren soll.
 
Oben