OVH Cloud OVH Cloud

convert et repertoire

4 réponses
Avatar
Rasmus
Bonjour à tous,

La commande convert ci-dessous permet de redimmensioner des images par
lot: for i in *.jpg; do convert -resize 480x360 $i `basename $i
.jpg`_small.jpg ; done

Comment faire pour que les nouvelles images créées soit rangées dans un
sous répertoire "repertoire en cours / small" créé auparavant manuellement?


Merci,
Ras'

4 réponses

Avatar
Matthieu Moy
Rasmus writes:

Bonjour à tous,

La commande convert ci-dessous permet de redimmensioner des images par
lot: for i in *.jpg; do convert -resize 480x360 $i `basename $i
.jpg`_small.jpg ; done


for i in *.jpg
do
convert -resize 480x360 $i repertoire/`basename $i .jpg`_small.jpg
done

--
Matthieu

Avatar
R12y
On Mon, 05 Dec 2005 22:18:43 +0100, Rasmus wrote:

Bonjour à tous,


Bonjour

Comment faire pour que les nouvelles images créées soit rangées dans un
sous répertoire "repertoire en cours / small" créé auparavant manuellement?


Tu rajoutes un mkdir avant la boucle for, et tu fais un mv pour chaque
_small créé? ou alors tu donne carrément le chemin relatif comme nom de
fichier de sortie de "convert"?

--
Telephone portable "intelligent" (SmartPhone) GSM, GPRS,...
Il est sous Linux, ne coute pas trop cher,...
http://www.it2l.com/product_info.php?cPath‘&products_idE6

Avatar
lhabert
Indépendament du reste, sache qu'il faut faire « "$i" », sinon ça va louzer
si tu as des espaces ou des étoiles ou quelques autres caractères à la con
dans tes noms de fichiers. Et puis pendant que j'y suis, il y a la syntaxe
« ${i%.jpg} », qui est à peu près équivalente à « `basename "$i"` », et que
je trouve plus agréable.
Avatar
Rasmus
Bonjour et merci,

Encore plus fort:
Je voudrais automatiser cette même fonction de conversion...

...pour qu'elle execute le traitement par lots en créant au fur et à
mesure des conversions une nouvelle arborescence dans laquelle seront
rangées les nouvelles images; exemple:

repertoires existants:
photos/rep1;
photos/rep2;
photos/rep3...

repertoires a créer automatiquement (en une seule passe):
petites photos/rep1;
petites photos/rep2;
petites photos/rep3...

Merci,
Ras'

Rasmus writes:


Bonjour à tous,

La commande convert ci-dessous permet de redimmensioner des images par
lot: for i in *.jpg; do convert -resize 480x360 $i `basename $i
.jpg`_small.jpg ; done



for i in *.jpg
do
convert -resize 480x360 $i repertoire/`basename $i .jpg`_small.jpg
done