繁体   English   中英

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

[英]How would I use ImageMagick in a .bat file (Windows) to resize all images in all sub-directories?

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

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

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

是否可以编写完成所有这些操作的ImageMagick脚本?

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

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

这将递归影响从中运行该文件夹的文件夹中及其下的每个.jpg文件( FOR /R %f IN (*.jpg) DO )。

如果有问题的图像在任一方向上均大于1200px,则将每个文件缩小以适合1200x1200的框,并保持图像的宽高比。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM