Hallo,
ich habe mir ein Kontextmenü erstellt um Bilddateien direkt in CBZ (Comic Book-Format) zu packen. Ich musste die vorher aber immer noch passend umbenennen, da manche Viewer unter Android Probleme haben, wenn die Dateinamen Leerzeichen haben oder bestimmte andere Zeichen (Umlaute z. B.) oder die Dateien nicht gleich lange Datennamen haben. Hab das Skript jetzt erweitert um eine Schleife zum umbenennen:
Stamm aus dem Netz, ist nicht von mir. Darunter soll nun die Erstellung der CBZ kommen. Das sieht dann so aus:
Die CBZ-Datei erhält automatisch den Namen des übergeordneten Ordners. Problem ist nun, dass beim Starten des Scriptes ja die alten Dateinamen eingelesen werden, die aber im ersten Teil des Skriptes geändert werden und nun für den zweiten Teil nicht mehr passen. Wie kann ich das hinbiegen, dass er die geänderten Dateinamen verwendet? Mir fällt spontan nur ein daraus zwei Scripte zu machen und das zweite mit dem CBZ-Teil zu starten und den Ordner nochmal (nun mit den geänderten Dateinamen) einlesen zu lassen.
bunter fisch
ich habe mir ein Kontextmenü erstellt um Bilddateien direkt in CBZ (Comic Book-Format) zu packen. Ich musste die vorher aber immer noch passend umbenennen, da manche Viewer unter Android Probleme haben, wenn die Dateinamen Leerzeichen haben oder bestimmte andere Zeichen (Umlaute z. B.) oder die Dateien nicht gleich lange Datennamen haben. Hab das Skript jetzt erweitert um eine Schleife zum umbenennen:
Code:
a=1
for i ; do
new=$(printf "%04d.jpg" "$a") #04 pad to length of 4
mv -i -- "$i" "$new"
let a=a+1
done
Stamm aus dem Netz, ist nicht von mir. Darunter soll nun die Erstellung der CBZ kommen. Das sieht dann so aus:
Code:
ordner=$(pwd "$@")
ordner1=${ordner##*/}
if [ -f "$ordner1".cbz ]
then
yad --text 'Datei existiert bereits. Überschreiben?' --button-gtk-no:1 --button-gtk-yes:0
foo=$?
[[ $foo -eq 1 ]] && exit 0
[[ $foo -eq 0 ]] && zip -j "$ordner1".cbz "$@" && exit 0
else
zip -j "$ordner1".cbz "$@"
fi
Die CBZ-Datei erhält automatisch den Namen des übergeordneten Ordners. Problem ist nun, dass beim Starten des Scriptes ja die alten Dateinamen eingelesen werden, die aber im ersten Teil des Skriptes geändert werden und nun für den zweiten Teil nicht mehr passen. Wie kann ich das hinbiegen, dass er die geänderten Dateinamen verwendet? Mir fällt spontan nur ein daraus zwei Scripte zu machen und das zweite mit dem CBZ-Teil zu starten und den Ordner nochmal (nun mit den geänderten Dateinamen) einlesen zu lassen.
bunter fisch