¿Cómo hago para optimizar archivos de imágenes por lotes con un script?

¿Cómo hago para optimizar archivos de imágenes por lotes con un script?

Estoy usandoOptiPNGpara una gran cantidad de PNG necesito optimizar. Puedo hacer que se ejecute con un script por lotes donde la aplicaciónyLas imágenes están juntas en una carpeta.

start.batcontiene:

start _OPNG.exe *.png -zc9 -zm9 -zs3 -f0-5 -nc -strip "all"

Sin embargo, digamos que tengo una carpeta d:\imagescon 1.pngThrough 10.pngy luego tengo una subcarpeta d:\images\sub1con 1sub.pngThrough 10sub.png.

La aplicación está ubicada, digamos, f:\OptiPNG\optipng.exe.

Quiero un archivo por lotes en el que tenga que editar manualmente solo la ubicación de la carpeta de imágenes que quiero optimizar. El archivo por lotes debe tener en cuenta todos los PNG de esa carpeta y sus subcarpetas.

¿Alguien puede ayudarme?

Respuesta1

Pruebe lo siguiente:

@echo off
echo.
set apppath="F:\OptiPNG\OptiPNG.exe"
if [%1]==[] echo Usage: %0 "PNG Dir" && echo. && echo Error: Invalid parameters && goto :EOF
if not exist %1 echo Usage: %0 "PNG Dir" && echo. && echo Error: Invalid directory "%~1" && goto :EOF
%apppath% "%~1\*.png" -zc9 -zm9 -zs3 -f0-5 -nc -strip "all"
for /d /r "%~1" %%a in (*.*) do %apppath% "%%~a\*.png" -zc9 -zm9 -zs3 -f0-5 -nc -strip "all"

información relacionada