estou a usarOptiPNGpara uma grande quantidade de PNGs que preciso otimizar. Posso executá-lo com um script em lote onde o aplicativoeimagem estão em uma pasta juntos.
start.bat
contém:
start _OPNG.exe *.png -zc9 -zm9 -zs3 -f0-5 -nc -strip "all"
No entanto, digamos que eu tenha uma pasta through d:\images
, então tenho uma subpasta through .1.png
10.png
d:\images\sub1
1sub.png
10sub.png
O aplicativo está localizado, digamos, em f:\OptiPNG\optipng.exe
.
Quero um arquivo em lote onde preciso editar manualmente apenas o local da pasta de imagens que desejo otimizar. O arquivo em lote deve levar em consideração todos os PNGs dessa pasta e suas subpastas.
Alguém capaz de me ajudar?
Responder1
Experimente o seguinte:
@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"