使用ImageMagick批量创建循环以进行多次导出

时间:2013-04-04 09:36:09

标签: batch-file imagemagick dos

我正在尝试制作处理多个图像文件的批处理文件。

文件名为P_1316_0001.png P_1316_0002.png P_1316_0003.png等。 LETs sqy P_1316是VARSESSION) 感谢ImageMagick程序,我可以直接使用批量转换图像。

基本上我想做的是:

创建一个将递增的变量,直到该文件夹​​中没有其他文件要转换为止。假设我是0001

,将文件从png转换为jpg(转换%VARSESSION%%i%.png%VARSESSION%%i%.jpg)

我希望你能帮助我。 我谢谢你

丹尼尔

1 个答案:

答案 0 :(得分:1)

您的问题有点限制,但要符合您指定的精确参数,

SETLOCAL ENABLEDELAYEDEXPANSION
for /l %%i in (10001,1,19999) do (
 set numb=%%i
 ECHO if exist %varsession%_!numb:~1!.png convert %varsession%_!numb:~1!.png %varsession%_!numb:~1!.jpg
)
ENDLOCAL

但还有更好的方法,例如

for /f %%i in ('dir /b /a-d %varsession%_*.png') do (
ECHO convert %%i %%~ni.jpg
)

假设要处理匹配%varsession%_ * .png的所有文件。

注意:关键字ECHO已插入SHOW批处理建议执行的操作。删除ECHO以实际执行操作