如何在.bat文件(Windows)中使用ImageMagick来调整所有子目录中所有图像的大小?



我在Windows服务器上有数以万计的图像。文件的大小从 100x100 到 6000x6000 像素不等。文件是 jpg、gif 和 png。文件位于许多嵌套文件夹中。

我在服务器上安装了Imagemagick。我正在寻找帮助来编写可以从蝙蝠文件运行的 ImageMagick 脚本(最顶层的目录将作为参数以及最大像素大小传入(。

该脚本将以递归方式处理最顶层目录和所有子目录中的每个图像文件。仅当宽度或高度大于最大像素大小时,它才会调整图像大小(如果最大像素大小参数为 1200,它将调整 4000x2000 的图像大小,但不会调整 100x500 图像的大小(。它会将宽度或高度(以较大者为准(调整为最大像素大小,并将其他维度的大小更改为成比例(即,在调整图像大小时不会倾斜或扭曲图像(。

是否有可能编写一个ImageMagick脚本来完成所有这些工作?

因此,来自 fmw42 的链接中的信息足以拼凑出一个答案。

FOR /R %f IN (*.jpg) DO mogrify -verbose -resize "1200x1200>" "%f"

这将递归影响运行此文件夹 (FOR /R %f IN (*.jpg) DO( 的文件夹内和下的每个.jpg文件。

如果相关图像在任一方向上大于 1200 像素,则每个文件都将缩小以适合 1200x1200 框,并保持图像纵横比。

最新更新