PDA

Показать полную графическую версию : [решено] Копирование анимированных gif файлов


dmtrm
14-12-2013, 17:40
Возникла у меня необходимость скопировать из кучи картинок только анимированные гифки. В imagemagick`е есть утилита identify, которая позволяет определять количество слоёв в гиф файлах. Вот синтаксис:

identify -format %n file.gif

На выходе получаем количество слоёв.

Как вызывать это в цикле, я разобрался:


for %%f in (*.gif) do identify -format %%n %%f


А как в эту конструкцию добавить условие, что бы файлы у которых количество слоёв больше 1 копировались в другую папку? Что-то никак не могу сообразить.

Foreigner
14-12-2013, 18:17
dmtrm
На выходе получаем количество слоёв.
Приведите пример вывода в консоль.

Если просто число, то:

@echo off
setlocal

for /f "tokens=*" %%i in ('dir /b /a *.gif') do (

for /f %%j in ('identify -format %%n %%i') do if %%j gtr 1 ( echo %%i is animated gif )

)

dmtrm
14-12-2013, 18:34
Приведите пример вывода в консоль.
Если просто число, то:
@echo off
setlocal
for /f "tokens=*" %%i in ('dir /b /a *.gif') do (
for /f %%j in ('identify -format %%n %%i') do if %%j gtr 1 ( echo %%i is animated gif )
)

Да, просто число. Благодарю! То, что нужно.




© OSzone.net 2001-2012