2009-06-18 5 views
2

J'ai besoin d'enregistrer un groupe (plusieurs milliers) d'images avec imagemagick. Je suis totalement nouveau et sa documentation semble totalement opaque et totalement labyrinthe. Où est le guide de démarrage rapide? En regardant cela, je pense que je veux utiliser mogrify. Donc je cd à mon répertoire de fichiers de programme où j'ai installé imagemagick.Exécution d'un lot avec imagemagick

Je cours mogrify -format png *.png comme je vois dans divers exemples.

Il dit:

 
mogrify: unable to open image `fgimg\': No such file or directory @ blob.c/OpenB 
lob/2489. 
mogrify: unable to open file `fgimg\' @ png.c/ReadPNGImage/2865. 

Comment puis-je charger de fonctionner sur toutes les images dans le sous-répertoire \ fgimg?

Merci beaucoup!

+0

La façon dont vous devez traiter les images n'est pas claire. Votre commande d'exemple prend toutes les images PNG et les écrase avec des images dans le même format: png. – tom

+0

Oui, c'est tout ce que je dois faire. Les enregistrer à nouveau avec imagemagick résout les problèmes inhérents à ces fichiers. J'ai décrit le problème ici: http://stackoverflow.com/questions/1007496/a-batch-gimp-png-script Merci! – Charuru

Répondre

7

Le problème ici est que vous atteignez la limite de combien vous pouvez mettre sur une ligne de commande. Vous devez le diviser en morceaux qui vont s'adapter. Cela devrait fonctionner mieux:

find -name '*.png' -print0 | xargs -0 -r mogrify -format png 

Le -print0 et -0 sont utilisés pour gérer les espaces dans les noms de fichiers et les moyens -r ne pas courir mogrify s'il n'y a rien à faire.