Created
May 12, 2025 14:25
-
-
Save felipem775/92f544d450b567657bb7b9e7d5ea0dca to your computer and use it in GitHub Desktop.
cbr a cbz
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| #!/bin/bash | |
| # Script para convertir archivos CBR (Comic Book RAR) en CBZ (Comic Book ZIP) | |
| # Uso: ./cbr2cbz.sh archivo.cbr [archivo.cbr ...] | |
| if [ $# -eq 0 ]; then | |
| echo "Error: No se han proporcionado archivos para convertir." | |
| echo "Uso: $0 archivo.cbr [archivo.cbr ...]" | |
| exit 1 | |
| fi | |
| # Verificar que los comandos necesarios estén disponibles | |
| for cmd in unrar zip; do | |
| if ! command -v $cmd &> /dev/null; then | |
| echo "Error: El comando '$cmd' no está instalado. Por favor, instálalo primero." | |
| echo "Para instalar: sudo apt-get install $cmd" | |
| exit 1 | |
| fi | |
| done | |
| # Procesar cada archivo proporcionado | |
| for cbr_file in "$@"; do | |
| # Verificar que el archivo existe | |
| if [ ! -f "$cbr_file" ]; then | |
| echo "El archivo '$cbr_file' no existe, omitiendo..." | |
| continue | |
| fi | |
| # Verificar que es un archivo CBR (RAR) | |
| mime_type=$(file -b --mime-type "$cbr_file") | |
| if [[ "$mime_type" != "application/vnd.rar" && "$mime_type" != "application/x-rar" && "$mime_type" != "application/octet-stream" ]]; then | |
| echo "'$cbr_file' no parece ser un archivo RAR válido, omitiendo..." | |
| continue | |
| fi | |
| # Obtener la ruta base sin extensión | |
| base_name="${cbr_file%.*}" | |
| # Crear directorio temporal | |
| temp_dir=$(mktemp -d) | |
| echo "Procesando: $cbr_file" | |
| echo "- Extrayendo archivos a directorio temporal..." | |
| # Extraer el CBR al directorio temporal | |
| unrar x -o+ "$cbr_file" "$temp_dir" > /dev/null | |
| if [ $? -ne 0 ]; then | |
| echo "- Error al extraer '$cbr_file'. ¿Es un archivo RAR válido?" | |
| rm -rf "$temp_dir" | |
| continue | |
| fi | |
| # Crear el archivo CBZ | |
| echo "- Creando archivo CBZ..." | |
| # Cambiar al directorio temporal y comprimir todos los archivos | |
| current_dir=$(pwd) | |
| cd "$temp_dir" | |
| zip -r "$current_dir/${base_name}.cbz" . -q | |
| cd "$current_dir" | |
| # Limpiar directorio temporal | |
| rm -rf "$temp_dir" | |
| echo "- Conversión completa: ${base_name}.cbz" | |
| echo "" | |
| done | |
| echo "Proceso finalizado." |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment