e2fd5e4b0c
chd_from_zip.sh: La orden para eliminar los ficheros estaba mal construida
61 lines
1.5 KiB
Bash
Executable File
61 lines
1.5 KiB
Bash
Executable File
#!/bin/bash
|
|
|
|
# Instala los programas necesarios
|
|
#sudo apt-get install -y mame-tools p7zip-full
|
|
|
|
## Comprueba los parametros
|
|
if [ "$#" -lt 2 ]; then
|
|
printf "Uso: chd_from_zip.sh SOURCEDIR DESTDIR [-remove]"
|
|
exit 0
|
|
else
|
|
readonly sourcedir="$1"
|
|
readonly destdir="$2"
|
|
fi
|
|
|
|
# Comprueba que exista el directorio de origen
|
|
if [ ! -d "$1" ]; then
|
|
printf "El directorio %s no existe\n" "$1"
|
|
exit 0
|
|
fi
|
|
|
|
# Colores
|
|
WHITE=$(tput setaf 7)
|
|
RED_BG=$(tput setab 1)
|
|
BLUE_BG=$(tput setab 4)
|
|
NORMAL=$(tput sgr0)
|
|
BOLD=$(tput bold)
|
|
|
|
# Procesa los ficheros
|
|
for zipfile in "${sourcedir}"/*.zip; do
|
|
gameName="$(basename "$zipfile" .zip)"
|
|
|
|
# Comprueba si existe ya el fichero antes de extraerlo
|
|
if [ -f "${destdir}/${gameName}.chd" ]; then
|
|
TEXT=">> ${gameName}.chd already exists"
|
|
printf "%s\n" "${BOLD}${WHITE}${RED_BG}${TEXT}${NORMAL}"
|
|
else
|
|
TEXT=">> Extracting ${gameName}..."
|
|
printf "\n%s\n" "${BOLD}${WHITE}${RED_BG}${TEXT}${NORMAL}"
|
|
7z x "${zipfile}" -o"${destdir}/${gameName}-tmp"
|
|
|
|
# Convierte a CHD
|
|
TEXT=">> Converting ${gameName}..."
|
|
printf "\n%s\n" "${BOLD}${WHITE}${RED_BG}${TEXT}${NORMAL}"
|
|
find "${destdir}/${gameName}-tmp/" -type f -iname "*.cue" -exec chdman createcd -i {} -o "${destdir}/${gameName}.chd" \;
|
|
|
|
# Borra el directorio temporal
|
|
rm -rdf "${destdir}/${gameName}-tmp"
|
|
fi
|
|
|
|
# Elimina el fichero
|
|
if [ "$3" = "-remove" ]; then
|
|
rm "$zipfile"
|
|
fi
|
|
|
|
TEXT=">> ${gameName} completed !!!"
|
|
printf "\n%s\n" "${BOLD}${WHITE}${BLUE_BG}${TEXT}${NORMAL}"
|
|
|
|
done
|
|
|
|
printf "All done.\n"
|