Eu recomendaria os utilitários do ImageMagick do link
Você pode usar o utilitário convert
do ImageMagick junto com alguns scripts simples de linha de comando. Você pode usar um sistema Unix ou Cygwin no Windows
O comando de conversão exato seria convert -quality 50 in.jpg out.jpg
. Ajuste o parâmetro de qualidade para o valor desejado. (Nota: Esta é uma operação com perdas)
O utilitário convert também pode converter para outros formatos, como o PNG, que é sem perdas.
Se você tiver Unix ou bater no Cygwin, a operação completa seria:
for file in *.jpg; do
filebase='basename $file'
convert $file -quality 50 ${filebase}.new.jpg
done
Outra alternativa é usar o Gimp no modo batch: