ImageMagick: изменение размера одного изображения с несколькими размерами изображений с их именами в Windows

#batch-file #imagemagick

#пакетный файл #imagemagick

Вопрос:

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

 setlocal enabledelayedexpansion  
  %~d1
  CD "%~p1"
  MD small
 FOR %%a in (*.jpg) DO (
    identify -format "%%w" imageA.jpg > w.txt
    set /p w=<w.txt
    identify -format "%%h" imageA.jpg > h.txt
    set /p h=<h.txt)
   FOR %%a in (*.jpg) DO (
    convert imageA.jpg -resize %w%x%h%! small%%a
  )
)
  

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

 setlocal enabledelayedexpansion  
  %~d1
  CD "%~p1"
  MD small

 FOR %%f in (*.jpg) DO (
  set filename=%%f
    identify -format "%%w" %%f > w.txt
    set /p w=<w.txt
    identify -format "%%h" %%f > h.txt
    set /p h=<h.txt)
   FOR %%f in (*.jpg) DO (
    set filename=%%f
    convert imageA.jpg -resize %w%x%h%! small%%~nxf
  )
)
  

Комментарии:

1. %%w откуда %%h взялся и?

2. с помощью инструмента imagemagick (идентификация) получил информацию о w (ширина) и h (высота) @npocmaka

3. Ваш вопрос очень трудно понять. Не могли бы вы попробовать и уточнить это. Как вы собираетесь получить размеры 50 изображений в одной переменной? Это массив? Вам нужно 50 копий каждого изображения? Или есть одно конкретное изображение, которое вы хотите скопировать 50? Зачем вам 50 копий — если это копии, все они будут одинаковыми. Я не понимаю!

4. @MarkSetchell — извините за путаницу. Позвольте мне просмотреть, у меня есть img — ImageA.jpg и есть еще один набор из примерно 50 изображений разного размера. Я хочу ImageA.jpg в 50 размерах, полученных из набора из 50 изображений.

5. Вы используете %%f для управления внутренним циклом внутри другого цикла, также контролируемого %%f . Не уверен, что это хорошо…