Пакетная команда для ImageMagick для преобразования всех файлов в каталог и подкаталоги в windows

у меня есть тысячи SVG в папке и подпапках. Я хочу, чтобы конвертировать их в формат JPG или png картинки.

может кто-нибудь помочь мне написать команду для ImageMagick (windows), которая может найти и преобразовать все svg в jpg/png с их оригинальными именами и сохранить их в тех же каталогах?

вот пример структуры:

C:SVGBusinessMan.svg
C:SVGModelsHome.svg
C:SVGUnderlinesunderline.svg

и я хочу, чтобы это было так после преобразования:

C:SVGBusinessMan.svg
C:SVGBusinessMan.jpg
C:SVGModelsHome.svg
C:SVGModelsHome.jpg
C:SVGUnderlinesunderline.svg
C:SVGUnderlinesunderline.jpg

1 ответов


попробуй FOR петли с /R флаг из корневой папки:

FOR /R %a IN (*.svg) DO convert "%~a" "%~dpna.jpg"

эта команда преобразует все .svg файлы в ваших подкаталогах в корневой папке, из которой вы запустили свою команду.

выше команда работает для командной строки, Если вы планируете использовать команду в пакетный файл (.bat) не забудьте использовать %% вместо %:

FOR /R %%a IN (*.svg) DO convert "%%~a" "%%~dpna.jpg"

посмотреть этой страница документации Imagemagick для больше info