У меня есть этот командный файл:
for %%f in (*.svg) do (
"C:\Program Files\Inkscape\inkscape.com" ^
-z ^
--export-background-opacity=0 ^
--export-height=256 ^
--export-png="%%~nf_256x256.png" ^
--file="{%%~f}"
"C:\Program Files\Inkscape\inkscape.com" ^
-z ^
--export-background-opacity=0 ^
--export-height=128 ^
--export-png="%%~nf_128x128.png" ^
--file="%%~f"
"C:\Program Files\Inkscape\inkscape.com" ^
-z ^
--export-background-opacity=0 ^
--export-height=64 ^
--export-png="%%~nf_64x64.png" ^
--file="%%~f"
"C:\Program Files\Inkscape\inkscape.com" ^
-z ^
--export-background-opacity=0 ^
--export-height=48 ^
--export-png="%%~nf_48x48.png" ^
--file="%%~f"
"C:\Program Files\Inkscape\inkscape.com" ^
-z ^
--export-background-opacity=0 ^
--export-height=32 ^
--export-png="%%~nf_32x32.png" ^
--file="%%~f"
"C:\Program Files\Inkscape\inkscape.com" ^
-z ^
--export-background-opacity=0 ^
--export-height=24 ^
--export-png="%%~nf_24x24.png" ^
--file="%%~f"
"C:\Program Files\Inkscape\inkscape.com" ^
-z ^
--export-background-opacity=0 ^
--export-height=16 ^
--export-png="%%~nf_16x16.png" ^
--file="%%~f"
"C:\Program Files\ImageMagick-7.0.7-Q16\magick.exe" convert %%~nf_16x16.png %%~nf_24x24.png %%~nf_32x32.png %%~nf_64x64.png %%~nf_128x128.png %%~nf_256x256.png %%~nf.ico)
Что оно делает:
- Конвертируйте каждый .svg в папке в несколько .png разных размеров
- Объедините эти .png в один .ico
Используемое программное обеспечение: ImageMagick и Inkscape.
Теперь есть еще одна «команда», которую я хочу добавить:
mogrify -units "PixelsPerInch" -density 96 *.png
Этот скрипт конвертирует ppi каждого png в 96. Это должно произойти до перехода на .ico
У меня также есть этот командный файл:
@echo off
Setlocal enabledelayedexpansion
Set "Pattern= "
Set "Replace=_"
For %%a in (*.svg) Do (
Set "File=%%~a"
Ren "%%a" "!File:%Pattern%=%Replace%!"
)
Pause&Exit
Это заменяет пространства имен файлов подчеркиванием. Что должно произойти сначала перед преобразованием в .png.
Как мне добавить / объединить это в один пакетный файл?