重命名和调整 jpg 图像大小的自动脚本

Automated Script to Rename and Resize jpg Images

我有点难解决

我有一个包含大量图像文件的文件夹,并且每天都会添加新的图像文件(全部为 JPG),这些文件的命名方式确保没有重复。文件名永远不会改变。

我需要一种方法将每个图像的 三个 单独副本放入一个新文件夹中,第一个副本为 100x100px,第二个为 200x200px,第三个为 400x400px,最后一个我需要将每个不同大小的图像分别命名为 100-filename.jpg、200-filename.jpg 和 400-filename.jpg。

我使用的是 Windows 11,纵横比也不是问题,因为它们都是正方形图像并且裁剪正确。

我知道这可以使用脚本完成,可能 Imagemagick/Irfanview,但我不确定我将如何设置它以使其完全自动化,以及我将如何做这样的事情,刚接触脚本。

我唯一能找到的是如何为一个图像而不是文件夹中的所有图像执行此操作,而另一个没有建议我如何也可以分别重命名文件。

如有任何帮助,我们将不胜感激。

谢谢!

在 Windows 上的 Imagemagick 6 中,您可以对文件夹中的每个文件执行 FOR 循环并执行:

convert image.suffix ^
( +clone -resize 400x400 +write path_to_folder1/image.suffix ) ^
( +clone -resize 200x200 +write path_to_folder2/image.suffix ) ^
( +clone -resize 100x100 +write path_to_folder3/image.suffix ) ^
null:

将从先前调整大小的版本开始依次调整大小

convert image.suffix ^
( -clone 0 -resize 400x400 +write path_to_folder1/image.suffix ) ^
( -clone 0 -resize 200x200 +write path_to_folder2/image.suffix ) ^
( -clone 0 -resize 100x100 +write path_to_folder3/image.suffix ) ^
null:

每个尺寸都会根据原始尺寸进行调整。

对于 Imagemagick 7,将“convert”替换为“magick”,然后您可以自动输出。

magick path_to_infolder/image.suffix ^
-set filename:name "%t" ^
( -clone 0 -resize 400x400 +write "path_to_outfolder/400-%[filename:name].jpg" ) ^
( -clone 0 -resize 200x200 +write "path_to_outfolder/200-%[filename:name].jpg" ) ^
( -clone 0 -resize 100x100 +write "path_to_outfolder/100-%[filename:name].jpg" ) ^
null: