Trier et renommer les images par date dans les informations EXIF
9
J'ai un gâchis dans mon dossier de photos; Je veux les trier selon la date dans les informations EXIF et les renommer selon la date (comme 001.jpg, 002.jpg et ainsi de suite).
Comment puis-je faire cela sous Linux? J'ai déjà utilisé ImageMagick pour certaines tâches de base de traitement en masse (conversion et redimensionnement, etc.), est-il possible de l'utiliser pour cette tâche?
Sous Linux, vous pouvez utiliser la commande exiftool . Pour une raison quelconque, le manuel en ligne ne contient pas la section "RENOMMER DES EXEMPLES" qui m'a donné l'indication essentielle.
Pour les fichiers JPG uniquement, l'invocation de commande suivante devrait faire le travail:
'-FileName<CreateDate'indique à exiftool de renommer le fichier en fonction de sa balise EXIF CreateDate(vous pouvez essayer d'autres comme ModifyDatesi)
-d '%Y-%m-%d/%H_%M_%S%%-c.%%le'indique comment construire la chaîne de nom de fichier à partir de la source de date " CreateDate" (le " %-c" ajoutera un compteur en cas de collision de fichiers, le " %le" signifie "l'extension de fichier inférieure")
Remarque : J'ai utilisé " -FileName<..." ici pour renommer les fichiers et les déplacer vers un autre dossier en une seule étape. Le manuel souligne que vous devez utiliser la -Directory<...syntaxe " " pour les opérations sur les dossiers. Cela a fonctionné pour moi de cette façon.
Vous devriez passer un peu de temps à lire le manuel de cet outil puissant. Il existe peut-être un moyen encore plus court: D
Le moyen le plus simple consiste à simplement importer des fichiers dans jbrout ... puis (éventuellement) tous les fichiers peuvent avoir des noms changés en quelque chose de temporel. Ou vous pouvez constater que vous n'avez pas du tout besoin de changer les noms (et jbrout est suffisant).
Pendant que nous y sommes, en voici un qui est plus de style "programmation gonzo", en bash, utilisant exiftool, il peut être lâché sur plusieurs répertoires et / ou fichiers individuels en une seule fois. Il ignore les fichiers qui ont des types MIME non reconnus.
Il renomme les photos à l'aide de la DateTimeOriginalbalise EXIF (donc le résultat n'est pas 001.jpgmais 2015-12-22_14:43:15.jpg.
S'il y a un conflit d'attribution de noms, les numéros d'index sont appliqués: 2015-12-22_14:50:57.1.jpg.
Essayez ce produit gratuit: AmoK Exif Sorter .
la source
Le moyen le plus simple consiste à simplement importer des fichiers dans jbrout ... puis (éventuellement) tous les fichiers peuvent avoir des noms changés en quelque chose de temporel. Ou vous pouvez constater que vous n'avez pas du tout besoin de changer les noms (et jbrout est suffisant).
la source
J'ai fait un petit script python peu optimisé qui, à mon avis, fait ce que vous avez l'intention:
la source
Pour le faire fonctionner dans Debian Lenny, essayez ceci:
la source
En php, j'ai fait quelque chose comme ça:
la source
Pendant que nous y sommes, en voici un qui est plus de style "programmation gonzo", en
bash
, utilisantexiftool
, il peut être lâché sur plusieurs répertoires et / ou fichiers individuels en une seule fois. Il ignore les fichiers qui ont des types MIME non reconnus.Il renomme les photos à l'aide de la
DateTimeOriginal
balise EXIF (donc le résultat n'est pas001.jpg
mais2015-12-22_14:43:15.jpg
.S'il y a un conflit d'attribution de noms, les numéros d'index sont appliqués:
2015-12-22_14:50:57.1.jpg
.Peut être utile: relabel_photo_with_datetimeoriginal.sh
la source