Je n'ai que des compétences très rudimentaires en programmation et en ligne de commande, donc je suis un peu perplexe par ce qui suit.Utiliser le montage ImageMagick avec une variable de sous-chaîne de nom de fichier
J'ai un répertoire avec des fichiers d'images comme celle-ci:
abc_B.jpg
abc_G.jpg
abc_R.jpg
abc_RGB.jpg
defg_B.jpg
defg_G.jpg
defg_R.jpg
defg_RGB.jpg
etc...
Je veux assembler des ensembles des quatre R, G, B et images RVB à l'aide ImageMagick. Pour un ensemble individuel d'images cela est assez simple:
montage *_B.jpg *_G.jpg *_R.jpg *_RGB.jpg [some arguments] montage.jpg
En fait, j'ai copie des jeux de quatre images dans un répertoire temporaire et exécutez la commande ci-dessus. Mais ce n'est bien sûr pas très efficace ou pratique avec de plus grands ensembles d'images. Mais pour l'exécuter sur l'ensemble du répertoire il doit y avoir un moyen de prendre la partie 'abc', 'defg', etc. du nom de fichier et de le placer dans une variable (appelons-la% v) et d'exécuter quelque chose comme ça :
montage %v_B.jpg %v_G.jpg %v_R.jpg %v_RGB.jpg [some arguments] %v_montage.jpg
Maintenant, pour itérer sur des fichiers dans un répertoire, il existe la commande FOR. Mais je n'ai aucune idée de comment gérer cela avec des groupes de quatre fichiers et comment extraire et utiliser une sous-chaîne de nom de fichier pour que cela fonctionne.
Une aide précieuse serait grandement appréciée.
Etes-vous sûr qu'il s'agit de DOS et non de Windows cmd? – Alejandro
Oui, pour clarifier, je l'exécute sur Windows 7. – pipet
Ok, j'ai pris la liberté d'éditer les balises dans la question pour refléter cela alors. – Alejandro