Bulk convert photos to smaller size? [closed]

I have about 500 photos - each about 5MB in size. I'd like to bulk convert them to a smaller size, suitable for email and web-hosting.

Tools at my disposal -

  • Windows 7
  • Powershell 2
  • A free tool I don't yet know about

What's the best option?

Update - making this a community wiki - there are so many good options I'm not sure it make sense to mark any single one of them as the answer.


Check out Irfanview!


I would also use ImageMagick, here is a PowerShell script, expanding on DaveParillo's idea.

# Retrieves array of JPG files in current directory
PS C:\TEST\> $jpgfiles = Get-ChildItem . -filter *.jpg
PS C:\TEST\> foreach ($jpgfile in $jpgfiles) {
# Defines a new filename by stripping original filename of extension,
# then adding "-scaled.jpg" to end of original filename
>> $newjpgfileName = $jpgfile.Name.substring(0, $jpgfile.Name.length-4) + "-scaled.jpg"
>> convert $jpgfile.Name -scale 500 $newjpgfileName
>> }
>>

I choose to use ImageMagick's convert command, and scaled the images to to 500 pixels wide, that will shrink the files considerably and keep the existing aspect ratio. You could also use mogrify but you'll lose your original image that way. There's all sorts of fun stuff you could do with ImageMagick, I recommend you review their documentation. Hopefully this PowerShell script will help you get there.

http://www.imagemagick.org/script/command-line-tools.php


Imagemagick is my pick. It's my favorite price (free)

If you want to lower the jpeg quality of the images 'in place' to 50%:

mogrify -quality 50% *.jpg

To resize them (smaller copies) this is shell syntax, not sure about a powershell equivalent:

for file in *.jpg; do 
    echo  -n "Making images: $file thumbs.."
    # a bare scale means Width is given, 
    # height automagically selected to preserve aspect ratio.
    convert -scale 150 "$file" "thumbnails/$file"
    echo -n " scaled.."
    convert -scale 500 "$file" "scaled/$file"
    echo .
done 

Image Resizer Powertoy Clone for Windows - easiest image resizing ever for one or more images:

Resize images on a regular basis until now has been somewhat tedious.
While I was searching for a program that would sort images by their resolution I found this little gem of a program that resizes images in Windows Explorer (not Internet Explorer) using a mere right click. Image Resizer Powertoy Clone is super easy to use; open Windows Explorer, find an image you want to resize, right click on the image, choose "Resize Pictures", pick a size, click OK and you're done.

image1