Super User is a question and answer site for computer enthusiasts and power users. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I have a large complex directory tree full of JPG images. I would like to create a second directory tree that exactly mirrors the first, but resizing all the images down to a set size (say 2000x1500 or something) and quality (perhaps 85%).

Is there any tool that would allow me to easily do this on Windows? I could write some scripts to automate it with bash and image magick, but first want to see if it's already been done. Faster is better too, as I have thousands of images. So something like Photoshop is probably not a good solution as it might take a couple of seconds per image.

share|improve this question
Why I want to do this: I want to backup my collection of digital photos online, but storing the full resolution would take too much space & time to upload. I want to be able to do it all in one go, and then use something simple to upload the files all at once as well. – davr Feb 28 '11 at 21:07
What's the point of backing up if you're not backing up the originals? I understand this would be easier to DO but it feels like it defeats the purpose to me... – Shinrai Feb 28 '11 at 21:20
@Shinrai I have 52GB of high resolution image files. They're already stored on a RAID-1 drive, as well as a separate external storage. Downsizing the 3 megapixels is more than enough quality for viewing or event printing at 300 DPI (considered photo quality) at 5"x7". I almost never print anything larger. Uploading 50 GB over a home internet connection would take ages, and the online storage while cheap, is not free. The online backup is the worst-case scenario backup, such that it would cover 98% of my needs, and the images would not be lost. – davr Mar 1 '11 at 4:19
Oh, okay. Well in that case I agree that shrinking them makes sense. If you have two physical backups in two different locations I personally wouldn't think it's necessary, but I'm not confused now. ;) – Shinrai Mar 1 '11 at 15:33

IrfanView has a nice batch processing tool built in to it. You can achieve exactly what you asked for with it.

  • Start Batch Conversion/Rename (press B)
  • Tick Use advanced options (for bulk resize...) and click on the Advanced button
  • Select what you need under RESIZE and tick the checkbox next to Create subfolders in destination folder (section MISCALLANEOUS)
  • Select the output directory
  • Tick Include subdirectories and add the input directory
  • Start Batch
share|improve this answer
This looks like it'll do the trick. Sadly it doesn't have any option to run the conversions in parallel, meaning it'll take approximately 4x as long as if it took advantage of my quadcore. But I can just run it overnight or something. – davr Mar 1 '11 at 4:35
And to keep the existing directory structure, check the "Create subfolders in destination folder" option in Advanced. – dummzeuch Jul 15 at 16:40

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .