批量调整文件夹中的图像大小并保持文件夹结构?

Batch resize images within folders and keep folders structure?

我有一个高清图片文件夹,宽度+2000px :

+ /img/
   +- /bikes/: few images here (jpg,png,svg)
   +- /cars/ : few images here
   +- /cats/ : few images here
   +- /dogs/ : few images here
   +- /...

我想将整个图像调整为 200 像素宽度的图像(相同比例),但保持文件夹结构。

如何操作?

您可以这样做,但请先备份!

find . -depth -type d \! -name '.' -exec bash -c 'cd [=10=] || exit; mkdir thumbs 2> /dev/null; shopt -s nullglob; mogrify -path thumbs -resize 200x *.jpg *.svg *.png ' {} \;

这将在每个目录中为您提供一个名为 thumbs 的子目录,其中包含较小的版本