De acordo com as Leis 12.965/2014 e 13.709/2018, que regulam o uso da Internet e o tratamento de dados pessoais no Brasil, ao me inscrever na newsletter do portal DICAS-L, autorizo o envio de notificações por e-mail ou outros meios e declaro estar ciente e concordar com seus Termos de Uso e Política de Privacidade.
Colaboração: Vicente Lima
Data de Publicação: 06 de fevereiro de 2013
Este script realiza a redução em lote do tamanho das imagens localizadas em um diretório e grava a imagem reduzida em um outro diretório indicado na linha de comando.
O script aceita requer três parâmetros para sua execução: a pasta de origem, onde se encontram os arquivos a serem reduzidos, a pasta de destino e o fator de redução da imagem.
Segue o script.
#!/bin/sh if [ -z $1 ] # se for nulo o primeiro parametro passado para o script then echo "\n Script para reduzir tamanho de imagens (*.jpg) Converte todas as fotos (*.jpg) da pasta indicada para uma pasta indicada. Indique uma pasta para os novos arquivos que serao criados. Os novos arquivos terao os mesmos nomes. CUIDADO: Os arquivos originais somente serao alterados caso voce indique a pasta de destino igual a de origem. E' necessario o programa *ImageMagick* Parametros: fotoDiminuir <origem> <destino> <porcentagem> <origem> caminho de onde as fotos estao <destino> caminho de destino para fotos menores (se a pasta de destino nao existir, ela sera criada) <porcentagem> porcentagem desejada do tamanho da foto original. (Este parametro eh opcional) caso nao seja informado a nova imagem tera 50% Exemplos: fotoDiminuir /pastaOrigem /pastaDestino 30 fotoDiminuir /pastaOrigem /pastaOrigem/menor \n" exit 0 fi #validar os parametros # validar existencia da pasta de origem if [ ! -d "$1" ]; then echo "\n erro: pasta de origem nao existe. " echo " $1 -> nao eh uma pasta valida" exit 1 fi # validar se foi passado o segundo parametro if [ -z $2 ];then echo "\n erro: faltando a pasta de destino." echo " Voce deve informar uma pasta para as imagens alteradas." echo " Para ajuda, execute novamente sem nenhum parametro. \n" exit 1 fi pastaOrigem=$1 pastaDestino=$2 porcentagem=$3 # caso nao exista, criar diretorio de destino if [ ! -d "$2" ]; then echo " criando dir: " "$2" mkdir "$2" fi # por padrao reduz a imagem em 50% if [ -z $3 ];then porcentagem="50" fi for i in $(ls "$1"/*.jpg |xargs -n1 basename) do convert -resize "$porcentagem"% "$1/$i" "$2/$i" done exit 0
This policy contains information about your privacy. By posting, you are declaring that you understand this policy:
This policy is subject to change at any time and without notice.
These terms and conditions contain rules about posting comments. By submitting a comment, you are declaring that you agree with these rules:
Failure to comply with these rules may result in being banned from submitting further comments.
These terms and conditions are subject to change at any time and without notice.
Comentários