Search code examples
imageimagemagickimage-resizingresize-imagemogrify

Batch resize images and output images to new folder with ImageMagick


Current image folder path:

public_html/images/thumbs

Output image folder path:

public_html/images/new-thumbs

I have 10 video thumbs per video in current folder, named of image thumbs:

1-1.jpg
1-2.jpg
1-3.jpg
1-4.jpg
1-5.jpg (Resize)
1-6.jpg
1-7.jpg
1-8.jpg
1-9.jpg
1-10.jpg

2-1.jpg
2-2.jpg
2-3.jpg
2-4.jpg
2-5.jpg (Resize)
2-6.jpg
2-7.jpg
2-8.jpg
2-9.jpg
2-10.jpg

I want to resize all 5th images(*-5.jpg) to the new folder. I've tried below command but no luck:

mogrify 
-path 
  public_html/images/thumbs/*-5.jpg 
-resize 16×12 
-quality 100 
  public_html/images/new-thumbs/*-5.jpg

Solution

  • "Mogrify" should be called from the directory with the original thumbnails, while the -path parameter is for pointing target directory.

    mkdir public_html/images/new-thumbs
    cd public_html/images/thumbs
    magick mogrify -resize 16x12 -quality 100 -path ../new-thumbs *.jpg
    

    http://www.imagemagick.org/Usage/basics/#mogrify

    The last arguments are the list of files, so you can filter by name 1-*.jpg for example.