使用ImageMagick进行多图像转换

时间:2016-07-12 12:23:16

标签: batch-file imagemagick-convert

问题:我希望能够通过简单地将多个图像拖到我的批处理文件中一次转换多个图像。

这是我的编程代码,因为我正在调整每个图像的大小:

convert "%1" -thumbnail 50x -unsharp 1.5x1.2+1.0+0.10 "%~p1%~n1"
convert "%1" -thumbnail 80x -unsharp 1.5x1.2+1.0+0.10 "%~p1%~n1"
convert "%1" -thumbnail 120x -unsharp 1.5x1.2+1.0+0.10 "%~p1%~n1"

上面的每一行都在一个单独的文件中,所以我创建了另一个文件来调用这些文件。 (教育目的)

以下所有行都在一个文件中:

call ImageConvert120x.bat %*
call ImageConvert80x.bat %*
call ImageConvert50x.bat %*

现在,当我突出显示多个图像,然后将其放到此文件中,并调用其中的每个图像时,它只会转换顶部图像。我希望能够在突出显示多个图像并将其放到批处理文件后一次转换多个图像。

这应该适用于所有文件类型。

编辑:

我已添加:

for %%i in (%*) do (
call ImageConvert120x.bat %*
call ImageConvert80x.bat %*
call ImageConvert50x.bat %*
)

但它会拍摄第一张照片,然后重新尝试并再次更换。

1 个答案:

答案 0 :(得分:0)

for%*(文件列表)翻译为%%i(单个文件),因此对call ImageConvert120x.bat %*没有用处(列表中)的文件)。使用%%i(一次一个文件):

for %%i in (%*) do (
  call ImageConvert120x.bat %%i
  ...
)