Cuando es necesario descargar de manera masiva los archivos con los que vamos a trabajar y el descargador es un ejecutable de windows y no quieres instalarte wine o una maquina virtual… NA!!!
En nuestro ejercicio queremos descargarnos todos los paquetes de DENUE (Directorio estadístico nacional de unidades económicas) con la URL https://www.inegi.org.mx/app/descarga/default.html.

Nos ubicamos en el link denominado “Descarga todos los archivos” en el caso del DENUE y básicamente de cualquier otra consulta de INEGI. Esto nos descarga un archivo ZIP “DescargaMasiva_1222025_174320.zip”. una vez que lo exploramos, observamos que contienen lo siguiente:

Vamos a ignorar el ejecutable y el texto. Solo extraemos el “DescargaMasivaOD.xml” se observara de esta manera:

Ya en este momento nos ponemos a descargar uno por uno a mano, o lo hacemos a la linux:
Abrimos nuestro editor de texto favorito y nos creamos un script zsh.
#!/bin/zsh
######################################################
# Autor: E. J. Molina <mailto:aej0170@gmail.com>
# Herramienta diseñada para descargar Masiva de las
# Consultas de INEGI
######################################################
# Verificar si wget está instalado
if ! command -v wget &> /dev/null; then
echo "Autor: aej0170@gmail.com"
echo "wget no está instalado. Puedes instalarlo usando:"
echo " sudo apt update && sudo apt install wget # Para distribuciones basadas en Debian"
echo " sudo dnf install wget # Para distribuciones basadas en Fedora"
echo " sudo pacman -S wget # Para distribuciones basadas en Arch"
fi
# Verifica si se pasó un archivo XML como argumento
if [[ $# -ne 1 ]]; then
echo "Autor: aej0170@gmail.com"
echo "Uso: $0 DescargaMasivaOD.xml"
exit 1
fi
xml_archivo=$1
# Verifica si el archivo existe
if [[ ! -f $xml_archivo ]]; then
echo "Error: Archivo no encontrado"
exit 1
fi
# Extrae los enlaces del tag <Archivo> y descarga con wget
grep -oP '(?<=<Archivo>).*?(?=</Archivo>)' "$xml_archivo" | while read -r url; do
if [[ -n "$url" ]]; then
echo "Descargando: $url"
wget -nc -c --show-progress "$url"
fi
done
nos descargamos el script y le damos permisos de ejecución (# chmod +x )

lo executamos (# ./DescargaMasivaApp.sh DescargaMasivaOD.xml)

Este script tiene varias características importadas de wget que es el que descarga el archivo
wget -nc -c -q --show-progress "$url"
Explicando las etiquetas de wget:
-c o –continue:
Reanuda automáticamente descargas interrumpidas si el archivo existe parcialmente en el directorio.
-nc o –no-clobber:
Evita descargar el archivo si ya existe una versión completa en el directorio.
–show-progress:
Muestra una barra de progreso detallada durante la descarga.
-q
Silencia wget en su salida

El nombre del archivo que se descarga tiene codificada la hora y el día en que se descargaron. Evidentemente no sera el nombre del archivo el mismo cuando realices la practica.
En conclusión
Este método sustituye la función que tiene el Ejecutable dentro del empaquetado. Requiere tener instalado previamente la utilidad wget. Espero que la herramienta te sea de utilidad