Seguramente que muchas veces te ha pasado que necesitas redimensionar o comprimir imágenes de una manera fácil y sencilla en Windows. Y aunque hay programas que lo hacen yo te voy a explicar Cómo comprimir imágenes en Windows masivamente desde la línea de comandos.
Y eso para ello necesitamos 3 cosas : Imagemagick, Exiftool y Powershell
¿Qué es Imagemagick?
ImageMagick es como una navaja suiza para trabajar con imágenes en tu computadora. Imagina que tienes una foto o dibujo y quieres cambiarlo de alguna manera: cortarlo, cambiarle el tamaño, ajustar los colores, o convertirlo a otro tipo de archivo, como pasar de una foto en formato JPG a un archivo PNG. ImageMagick te permite hacer todo eso a través de comandos que escribes en tu computadora, sin necesidad de abrir la imagen en un programa de edición visual.
Es muy poderoso porque puedes automatizar tareas con muchas imágenes a la vez. Por ejemplo, si tienes 100 fotos y quieres reducir su tamaño para enviarlas por email, puedes hacerlo con un solo comando usando ImageMagick, en vez de abrir y editar cada foto una por una. Además, es gratuito y lo puedes usar en Windows, Mac y Linux.
¿Qué es ExifTool?
ExifTool es como una herramienta mágica para los detectives de fotografías digitales. Imagina que cada foto que tomas con tu teléfono o cámara digital es como un libro que guarda secretos no solo sobre lo que muestra la imagen, sino también sobre cómo, cuándo y con qué dispositivo fue tomada. ExifTool te ayuda a leer y editar esos secretos.
Estos «secretos» son en realidad información adicional llamada metadatos. Pueden incluir el modelo de la cámara, la fecha y la hora exactas en que se tomó la foto, la ubicación (si tu cámara o teléfono tiene GPS), y mucho más. Con ExifTool, puedes mirar estos datos, cambiarlos o incluso eliminarlos si, por ejemplo, quieres compartir una foto pero sin la información de dónde fue tomada.
Es muy útil para fotógrafos, diseñadores, y cualquier persona que trabaje con imágenes digitales y quiera tener un control más detallado sobre su información. Además, ExifTool no solo funciona con fotos, sino también con una amplia gama de archivos de audio y video. Es una herramienta gratuita que puedes usar en Windows, Mac, y Linux.
¿Qué es Powershell?
PowerShell es como una varita mágica para controlar y automatizar tareas en computadoras con Windows, y también en sistemas Linux y macOS. Imagina que tu computadora es una ciudad llena de edificios, calles y sistemas que hacen que todo funcione, como el correo, la electricidad y el agua. PowerShell es como tener el poder de ser el alcalde de esa ciudad, dándote la capacidad de dar órdenes directas para controlar esos sistemas o cambiar cómo funcionan, todo desde una ventana de comandos.
Por ejemplo, si quisieras saber cuántas personas (en este caso, archivos) hay en un edificio (una carpeta en tu computadora), podrías usar un comando en PowerShell para averiguarlo instantáneamente. O si quisieras enviar una carta (un archivo) a todos los edificios de una calle (otras carpetas), también podrías hacerlo con un solo comando.
PowerShell es más avanzado que el símbolo del sistema tradicional de Windows (CMD) porque puede hacer muchas más cosas y de manera más eficiente. Además, utiliza una sintaxis que es un poco más cercana al inglés (o a lenguajes de programación más modernos), lo que puede hacer que automatizar tareas y manejar la administración del sistema sea más accesible.
Los administradores de sistemas lo adoran porque pueden escribir scripts (una serie de comandos) para automatizar tareas repetitivas, como instalar software en muchas computadoras a la vez o verificar la seguridad de la red. En resumen, PowerShell es una herramienta poderosa para quien quiera tomar el control detallado de su computadora o de muchas computadoras a la vez.
Llegó la hora de la magia
Una vez instalado Imagemagick y Exiftool es cuando lo unimos a Powershell y es cuando se hace la magia. Aquí os dejo el script que dado un directorio te elimina los metadatos de las fotos y te recomprime las fotos con una calidad del 85 %. Por supuesto que aparte de esto podemos retocar un poco el script para que (por ejemplo) redimensione las imágenes.
# Define el directorio donde están tus imágenes. Asegúrate de ajustarlo a tu ruta específica.
$directorioImagenes = "C:\Ruta\A\Tus\Imágenes"
# Encuentra todos los archivos de imagen en el directorio. Ajusta las extensiones según sea necesario.
Get-ChildItem -Path $directorioImagenes -Include @("*.jpg", "*.jpeg", "*.png") -Recurse | ForEach-Object {
$imagenOriginal = $_.FullName
$imagenTemporal = "$($_.DirectoryName)\temp_$($_.Name)"
# Elimina metadatos
exiftool -all= -overwrite_original $imagenOriginal
# Comprime la imagen y guarda el resultado como un archivo temporal
magick $imagenOriginal -quality 85 $imagenTemporal
# Elimina la imagen original
Remove-Item $imagenOriginal
# Renombra la imagen temporal al nombre original
Rename-Item -Path $imagenTemporal -NewName $imagenOriginal
}
Tienes que tener estos aspectos en cuenta :
- Asegúrate de tener instalados
exiftool
yImageMagick
. - Guarda el script en un archivo con la extensión
.ps1
, por ejemplo,QuitarMetadatosYComprimirImagenes.ps1
. - Abre PowerShell y navega al directorio donde guardaste el script.
- Ejecuta el script usando el comando
.\QuitarMetadatosYComprimirImagenes.ps1
. Puede que necesites cambiar la política de ejecución de scripts en PowerShell para poder ejecutar scripts personalizados. Esto se puede hacer con el comandoSet-ExecutionPolicy RemoteSigned
ejecutado como administrador.
Con esto tienes una herramienta poderosa para poder quitar metadatos y comprimir archivos de imágenes (o redimensionar) en Windows.
Espero que te sirva de ayuda. Si es así puedes compartirlo 🙂
Foto de Héctor J. Rivas en Unsplash