4

Я использую OptiPNG для большого количества PNG, которые нужно оптимизировать. Я могу заставить его работать с помощью пакетного скрипта, где приложение и изображение находятся в одной папке.

start.bat содержит:

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

Однако, скажем , у меня есть папка в d:\images с 1.png через 10.png то у меня есть подпапку d:\images\sub1 с 1sub.png через 10sub.png

Приложение находится, скажем, в f:\OptiPNG\optipng.exe .

Мне нужен командный файл, в котором я должен вручную редактировать только местоположение папки с изображениями, которую я хочу оптимизировать. Пакетный файл должен учитывать все PNG в этой папке и ее подпапках.

Кто-нибудь может мне помочь?

1 ответ1

1

Попробуйте следующее:

@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"

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .