Imagemagick pode redimensionar imagens .
convert input.jpg -resize 600x600 output.jpg
Observe que isso definirá um tamanho máximo para cada lado, mas manterá a proporção. Assim, uma imagem de 1200x1000 redimensionada com o comando acima será dimensionada para 600x500 pixels, enquanto uma imagem de 1000x1200 será redimensionada para 500x600.
Você pode, claro, colocar isso em um script. No bash, para converter cada *.jpg
em um diretório para um jpg 600x600:
for f in ./*.jpg; do convert "$f" -resize 600x600 "${f%.jpg}-resized.jpg"; done
Para fazer o mesmo recursivamente:
find . -type f -name *.jpg -exec bash -c 'convert "$0" -resize 600x600 "${0%.jpg}-resized.jpg"' {} \;
Eu não sei como fazer isso no script de linha de comando / lote do Windows, mas sei que é possível.
Se você deseja sobrescrever seus arquivos originais, pode usar o comando mogrificar do ImageMagick:
mogrify input.jpg -resize 600x600
Isto tem a vantagem extra de poder usar a expansão do shell, para que você possa redimensionar cada * .jpg em um diretório sem recorrer a um loop:
mogrify ./*.jpg -resize 600x600
Para usá-lo recursivamente, você teria que soltá-lo em um comando find, como em convert
:
find . -type f -name *.jpg -exec mogrify '{}' -resize 600x600 \;