Sorry, you are going to have to use the command line. I really really doubt that you can find a GUI program to deal with this.
You have not specified which OS you are using. On Linux, the following command will resize all .png files in the current directory. Note that it will overwrite the original images:
## bash (Linux, OSX):
for i in *png; do convert "$i" -resize 32x32 "$i"; done
## on Windows:
for %i in (*png); do convert %i -resize 32x32 %i; done
Note that, for the Windows line, if you are using it in a script rather than on the command-line, you need to use %%i
rather than %i
.
Another option would be GIMP scripting. This script will resize your image (source):
(define (batch-resize pattern width height)
(let* ((filelist (cadr (file-glob pattern 1))))
(while (not (null? filelist))
(let* ((filename (car filelist))
(image (car (gimp-file-load RUN-NONINTERACTIVE filename filename)))
(drawable (car (gimp-image-get-active-layer image))))
(gimp-image-scale-full image width height INTERPOLATION-CUBIC)
(gimp-file-save RUN-NONINTERACTIVE image drawable filename filename)
(gimp-image-delete image))
(set! filelist (cdr filelist)))))
Save it as batch_resize.scm
in GIMP's scripts
directory, then run it as follows:
gimp -i -b '(batch-resize "*.JPG" 604 453)' -b '(gimp-quit 0)'
UPDATE:
I just stumbled upon this post that suggests that the GIMP plugin David’s Batch Processor should do exactly what you want. The article is about Linux but there is a link to a windows version on the plugin's page.