15-01-23, 19:47
@manu propose un script très fini pour traiter le problème posé.
En acceptant moins de perfectionnement on peut utiliser exiftool.
La façon la plus simple d'extraire les mots-clefs des fichiers xmp est d'utiliser exiftool :
; on obtient la liste des mots-clefs rangés par ordre alphabétique, séparés par des virgules (modifiable). Avec -hierarchicalSubject on conserve la structure des mots-clefs. Avec -subject="aaaaaa" on affecte les mots-clefs au fichier.
Le problème posé est donc de traiter chaque fichier d'un répertoire en extrayant des informations d'un fichier et en les injectant dans un autre lié. C'est exactement ce que fait le script proposé par @Clo dans le post indiqué plus haut.
exiftool permet de le faire en une ligne de commande. Supposons que les raw ont l'extension ORF, qu'ils se trouvent dans repRAW et que les jpg (ou JPG sans importance) sont dans repJPG. En ouvrant un terminal dans repRAW et en tapant :
on obtient le résultat voulu, et en plus le nombre de fichiers modifiés ou non. Dans le fichier erreur.log on trouve les fichiers jpg orphelins et les fichiers raw sans mots-clefs.
L'option -overwrite_original_in_place conserve la date de création du fichier original et empêche exiftool de faire une copie du fichier d'origine. L'option -preserve ne conserve pas cette date sous linux, au moins chez moi. Si c'est sans importance -overwrite_original est un peu plus rapide.
Le script de @Clo modifie les données au passage : ça aussi exiftool sait le faire.
exiftool c'est bien utile.
En acceptant moins de perfectionnement on peut utiliser exiftool.
La façon la plus simple d'extraire les mots-clefs des fichiers xmp est d'utiliser exiftool :
Code :
exiftool -subject nom_fichier
Le problème posé est donc de traiter chaque fichier d'un répertoire en extrayant des informations d'un fichier et en les injectant dans un autre lié. C'est exactement ce que fait le script proposé par @Clo dans le post indiqué plus haut.
exiftool permet de le faire en une ligne de commande. Supposons que les raw ont l'extension ORF, qu'ils se trouvent dans repRAW et que les jpg (ou JPG sans importance) sont dans repJPG. En ouvrant un terminal dans repRAW et en tapant :
Code :
exiftool -overwrite_original_in_place -tagsfromfile %f.ORF.xmp -subject chemin_vers_repJPG 2>>erreur.log
L'option -overwrite_original_in_place conserve la date de création du fichier original et empêche exiftool de faire une copie du fichier d'origine. L'option -preserve ne conserve pas cette date sous linux, au moins chez moi. Si c'est sans importance -overwrite_original est un peu plus rapide.
Le script de @Clo modifie les données au passage : ça aussi exiftool sait le faire.
exiftool c'est bien utile.