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.bat
contiene:
start _OPNG.exe *.png -zc9 -zm9 -zs3 -f0-5 -nc -strip "all"
Sin embargo, digamos que tengo una carpeta d:\images
con 1.png
Through 10.png
y luego tengo una subcarpeta d:\images\sub1
con 1sub.png
Through 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"