0

我试图制作一个处理多个图像文件的批处理文件。

这些文件被命名为 P_1316_0001.png P_1316_0002.png P_1316_0003.png 等。由于 ImageMagick 程序,我可以直接批量转换图像。

基本上我想做的是:

创建一个变量,该变量会递增,直到文件夹中没有要转换的文件。假设 i 为 0001,将文件从 png 转换为 jpg(转换 %VARSESSION% %i%.png %VARSESSION% %i%.jpg)

好吧,我希望你能帮助我。我谢谢你

丹尼尔

4

1 回答 1

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 以显示批次建议执行的操作。删除ECHO以实际执行操作

于 2013-04-04T09:54:06.157 回答