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
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