diff --git a/copy_skraper_media.sh b/copy_skraper_media.sh index 9d80e64..203f6d2 100755 --- a/copy_skraper_media.sh +++ b/copy_skraper_media.sh @@ -19,7 +19,7 @@ fi # Si no existe, crea el directorio de destino if [ ! -d "$2" ]; then - mkdir -p "$2" + mkdir -p "$2" fi # Colores @@ -37,23 +37,28 @@ mkdir -p "${DESTINO}" # Procesa todas las carpetas for ITEM in "${ORIGEN}"/*; do - # Obten el nombre del sistema y lo imprime en pantalla - SISTEMA=$(basename "${ITEM}") - printf "\n\n%s\n" "${BOLD}${WHITE}${BLUE_BG} ${SISTEMA} ${NORMAL}" - # Procesa la lista de carpetas - for CARPETA in $MEDIA; do - printf "\n%s\n" "${BOLD}${LIME_YELLOW}${CARPETA}${NORMAL}" - # Crea el directorio de destino donde copiarlo todo - mkdir -p "${DESTINO}/${SISTEMA}/${CARPETA}" - # Copia las imagenes - rsync -avh --delete --chmod=755 "${ITEM}"/"${CARPETA}/" "${DESTINO}/${SISTEMA}/${CARPETA}/" - # Copia el gamelist.xml - rsync -avh --delete --chmod=755 "${ITEM}"/gamelist.xml "${DESTINO}/${SISTEMA}/" - # Busca todos los ficheros en la carpeta y subcarpeta y los mueve a la raíz - find "${DESTINO}/${SISTEMA}/${CARPETA}" -type f -exec mv {} "${DESTINO}/${SISTEMA}/${CARPETA}" \; >/dev/null 2>&1 - # Borra las subcarpetas - find "${DESTINO}/${SISTEMA}/${CARPETA}" -mindepth 1 -type d -exec rm -rdf {} \; - # Cambia el propietario de los archivos - chown sergio:sergio "${DESTINO}/${SISTEMA}/${CARPETA}/"* - done + # Obten el nombre del sistema y lo imprime en pantalla + SISTEMA=$(basename "${ITEM}") + printf "\n\n%s\n" "${BOLD}${WHITE}${BLUE_BG} ${SISTEMA} ${NORMAL}" + # Procesa la lista de carpetas + for CARPETA in $MEDIA; do + printf "\n%s\n" "${BOLD}${LIME_YELLOW}${CARPETA}${NORMAL}" + # Crea el directorio de destino donde copiarlo todo + mkdir -p "${DESTINO}/${SISTEMA}/${CARPETA}" + # Copia las imagenes + rsync -avh --delete --chmod=755 "${ITEM}"/"${CARPETA}/" "${DESTINO}/${SISTEMA}/${CARPETA}/" + # Copia el gamelist.xml + rsync -avh --delete --chmod=755 "${ITEM}"/gamelist.xml "${DESTINO}/${SISTEMA}/" + # Calcula el numero de subcarpetas + NUM_SUBCARPETAS=$(find "${DESTINO}/${SISTEMA}/${CARPETA}" -mindepth 1 -type d | wc -l) + # Si existen subcarpetas + if [ "$NUM_SUBCARPETAS" != 0 ]; then + # Busca todos los ficheros en la carpeta y subcarpeta y los mueve a la raíz + find "${DESTINO}/${SISTEMA}/${CARPETA}" -type f -exec mv {} "${DESTINO}/${SISTEMA}/${CARPETA}" \; + # Borra las subcarpetas + find "${DESTINO}/${SISTEMA}/${CARPETA}" -mindepth 1 -type d -exec rm -rdf {} \; + fi + # Cambia el propietario de los archivos + chown sergio:sergio "${DESTINO}/${SISTEMA}/${CARPETA}/"* + done done