En gratuit et portable, il y a FastStone Photo Resizer 2.8. Je l'avais utilisé quand j'étais parti en voyage vers la roumanie. Je le lançais à partir de ma clé usb.
Cela permet de convertir une batch de photo selon des règles pré-définies.
Le lien pour le télécharger est ici: [
www.faststonesoft.net]
Sinon en libre, il y a aussi imagemagick + un script bash. Voici un exemple (à placer dans le dossier avec les photos):
#!/bin/sh
mkdir small;
for f in *.JPG; do convert $f -resize '800x600>' small/small_$f; done