Как преобразовать последовательность изображений в другую в cmd с помощью магии?

Я новичок в библиотеке магии, и этот синтаксис cmd меня так сильно ранит. Я пытаюсь добиться следующего:

У меня есть 2 папки, в каждой по 100 png файлов. Я хочу сделать плавный переход между этими изображениями следующим образом:

Первое изображение в первой папке должно перекрываться с первым изображением во второй папке с непрозрачностью 1%.

45-е изображение в первой папке должно перекрываться с 45-м изображением во второй папке с непрозрачностью 45% и так далее ...

Мои файлы называются frame000.png, frame045.png (с нулями), что еще больше усложняет проблему.

Я пытаюсь добиться этого, комбинируя цикл for в пакетном скрипте и магическую команду, но кажется, что ничего не происходит, когда я запускаю его, он просто выводит этот текст в окно cmd 100 раз:

SET NUM=x SET PADDED=00NUM SET PADDED=PADDED:~-3 magick composite -dissolve PADDEDPADDEDPADDEDPADDED.png

Я думаю, что проблема в синтаксисе моего пакета, но я не могу этого понять. Вот что у меня есть в render.bat:

FOR /L %%x IN (0,1,99) DO ^
SET NUM=%x ^
SET PADDED=00%NUM% ^
SET PADDED=%PADDED:~-3% ^
magick composite -dissolve %x -gravity Center "frl1/frame%PADDED%.png" "frl2/frame%PADDED%.png" -alpha SET "output/%PADDED%.png"
pause

Я попытался изменить ссылки переменных на %x, %%x, %x%, но ни один из них не дал мне правильных результатов.

0
0
64
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

ваш ^ означает «Продолжение строки» - это не то, как работают пакетные файлы.

И вам понадобится отложенное расширение:

Setlocal enabledelayedexpansion
FOR /L %%x IN (0,1,99) DO (
  SET PADDED=00%%x
  SET PADDED=!PADDED:~-3!
  magick composite -dissolve %%x -gravity Center "frl1/frame!   PADDED!.png" "frl2/frame!PADDED!.png" -alpha SET "output/!PADDED!.png"
)
pause

(Примечание: я удалил ненужную переменную)

Похоже, что переменная не работает в строках, теперь магия выдает эту ошибку на каждой итерации: unable to open image 'frl1/!PADDED!.png' [...]

Balázs Varga 11.04.2018 12:17

Попробуй еще раз. Добавил строчку.

Stephan 11.04.2018 12:37

Я только что заметил ссылку и прочитал ее, и она работает. Спасибо за Ваш ответ!

Balázs Varga 11.04.2018 12:42

Другие вопросы по теме