Initial commit
This commit is contained in:
102
shell_convert_comics.sh
Executable file
102
shell_convert_comics.sh
Executable file
@@ -0,0 +1,102 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
if [[ $# -ne 2 ]]; then
|
||||||
|
echo "Usage: $0 <mode> <directory>"
|
||||||
|
echo "Modes:"
|
||||||
|
echo " cbz Convert CBR to CBZ"
|
||||||
|
echo " cbr Convert CBZ to CBR"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
mode="$1"
|
||||||
|
input_dir="$2"
|
||||||
|
|
||||||
|
if [[ ! -d "$input_dir" ]]; then
|
||||||
|
echo "Fehler: Verzeichnis $input_dir existiert nicht."
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [[ "$mode" == "cbz" ]]; then
|
||||||
|
for cbr_file in "$input_dir"/*.cbr; do
|
||||||
|
if [[ ! -f "$cbr_file" ]]; then
|
||||||
|
echo "Keine CBR-Dateien im Verzeichnis $input_dir gefunden."
|
||||||
|
exit 0
|
||||||
|
fi
|
||||||
|
|
||||||
|
base_name="${cbr_file%.cbr}"
|
||||||
|
temp_dir="${base_name}_temp"
|
||||||
|
|
||||||
|
echo "Verarbeite: $cbr_file"
|
||||||
|
|
||||||
|
# Entpacken
|
||||||
|
mkdir -p "$temp_dir"
|
||||||
|
unrar x -inul "$cbr_file" "$temp_dir/"
|
||||||
|
if [[ $? -ne 0 ]]; then
|
||||||
|
echo "Fehler beim Entpacken von $cbr_file. Überspringe Datei."
|
||||||
|
rm -r "$temp_dir"
|
||||||
|
continue
|
||||||
|
fi
|
||||||
|
|
||||||
|
# ZIP erstellen
|
||||||
|
(
|
||||||
|
cd "$temp_dir" || exit
|
||||||
|
zip -r -q "${base_name}.cbz" ./*
|
||||||
|
)
|
||||||
|
mv "${temp_dir}/${base_name}.cbz" "$input_dir/"
|
||||||
|
|
||||||
|
if [[ $? -ne 0 ]]; then
|
||||||
|
echo "Fehler beim Erstellen der CBZ für $cbr_file. Überspringe Datei."
|
||||||
|
rm -r "$temp_dir"
|
||||||
|
continue
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Aufräumen
|
||||||
|
rm -r "$temp_dir"
|
||||||
|
rm "$cbr_file"
|
||||||
|
echo "Erfolgreich umgewandelt: $cbr_file -> ${base_name}.cbz"
|
||||||
|
done
|
||||||
|
|
||||||
|
elif [[ "$mode" == "cbr" ]]; then
|
||||||
|
for cbz_file in "$input_dir"/*.cbz; do
|
||||||
|
if [[ ! -f "$cbz_file" ]]; then
|
||||||
|
echo "Keine CBZ-Dateien im Verzeichnis $input_dir gefunden."
|
||||||
|
exit 0
|
||||||
|
fi
|
||||||
|
|
||||||
|
base_name="${cbz_file%.cbz}"
|
||||||
|
temp_dir="${base_name}_temp"
|
||||||
|
|
||||||
|
echo "Verarbeite: $cbz_file"
|
||||||
|
|
||||||
|
# Entpacken
|
||||||
|
mkdir -p "$temp_dir"
|
||||||
|
unzip -q "$cbz_file" -d "$temp_dir/"
|
||||||
|
if [[ $? -ne 0 ]]; then
|
||||||
|
echo "Fehler beim Entpacken von $cbz_file. Überspringe Datei."
|
||||||
|
rm -r "$temp_dir"
|
||||||
|
continue
|
||||||
|
fi
|
||||||
|
|
||||||
|
# RAR erstellen
|
||||||
|
rar a -inul "${base_name}.cbr" "$temp_dir"/*
|
||||||
|
mv "${base_name}.cbr" "$input_dir/"
|
||||||
|
|
||||||
|
if [[ $? -ne 0 ]]; then
|
||||||
|
echo "Fehler beim Erstellen der CBR für $cbz_file. Überspringe Datei."
|
||||||
|
rm -r "$temp_dir"
|
||||||
|
continue
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Aufräumen
|
||||||
|
rm -r "$temp_dir"
|
||||||
|
rm "$cbz_file"
|
||||||
|
echo "Erfolgreich umgewandelt: $cbz_file -> ${base_name}.cbr"
|
||||||
|
done
|
||||||
|
|
||||||
|
else
|
||||||
|
echo "Unbekannter Modus: $mode"
|
||||||
|
echo "Bitte 'cbz' oder 'cbr' angeben."
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
echo "Alle Dateien im Verzeichnis $input_dir wurden verarbeitet."
|
||||||
Reference in New Issue
Block a user