Image Resize for Windows is a handy utility for batch resizing images. I use that for batch resizing pictures, but the only thing about the resized pictures is that it puts “ (Custom)” or whatever size you specify in the filename. To rename the resized files you can use sed (if you have cygwin on Windows) to easily rename these files to what pattern you need. To do this a command like the following will do. This specific version will replace
find . -iname \*Custom\* | sed -e 's/\(.*\)\( (Custom)\)\(.*\)/mv "\0" "\1_small\3"/' | sh
Disclaimer: There are a gazillion ways to achieve this goal; this is just one of them.