Tôi có tập tin lô này:
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)
Những gì nó làm:
- Chuyển đổi mọi .svg trong thư mục thành nhiều .png's ở các kích cỡ khác nhau
- Kết hợp những .png này thành một .ico
Phần mềm được sử dụng: ImageMagick và Inkscape.
Bây giờ có một 'lệnh' khác tôi muốn thêm:
mogrify -units "PixelsPerInch" -density 96 *.png
Kịch bản lệnh này chuyển đổi ppi của mỗi png thành 96. Điều này cần xảy ra trước khi chuyển đổi sang .ico
Tôi cũng có tập tin lô này:
@echo off
Setlocal enabledelayedexpansion
Set "Pattern= "
Set "Replace=_"
For %%a in (*.svg) Do (
Set "File=%%~a"
Ren "%%a" "!File:%Pattern%=%Replace%!"
)
Pause&Exit
Điều này thay thế không gian tên tệp bằng một dấu gạch dưới. Mà cần phải xảy ra lúc đầu trước khi chuyển đổi sang .png.
Làm cách nào để thêm / kết hợp tệp này vào một tệp bó?