6 votes

Comment changer en lot (décalage) de date de création de fichier

OS X Yosemite :

J'ai pris des milliers de photos lors d'un récent voyage, certaines avec mon iPhone, et d'autres avec mon appareil photo reflex numérique.

Maintenant, l'iPhone obtient automatiquement son heure et sa date à partir des antennes locales, mais le reflex est resté avec l'heure et la date de sa configuration d'origine.

Donc, en gros, quand je mélange toutes les photos ensemble et que je les classe par heure et date, elles sont toutes désordonnées. J'aimerais voir les photos chronologiquement et pour cela, je dois décaler la date et l'heure de toutes les photos prises avec le reflex d'un même décalage (fus horaire).

Donc, en gros, j'ai besoin d'une ligne de commande ou d'un script qui fera quelque chose comme ceci:

if nomDuFichier = DSC_*.*
then dateDeCréation = dateDeCréation + 5 heures

Je demande cela spécifiquement pour OS X, mais je suppose que ce serait intéressant de savoir comment le faire aussi sous Windows ou Linux.

9voto

user3439894 Points 52496

Voici une version condensée et modifiée des informations du script dans le lien que je vous ai donné dans les commentaires. Vous pouvez le sauvegarder en tant que fichier texte brut, sans extension, et le rendre exécutable selon les informations dans le lien, par exemple chmod +x nomdufichier. Placez le script dans un dossier qui est dans votre $PATH par exemple : /usr/local/bin/

Ce script définit à la fois la date/heure de création et de modification sur chaque fichier DSC_*.* +5 heures sur les fichiers DSC_*.* dans le répertoire de travail.

Dans un Terminal, faites ensuite un cd vers le répertoire contenant les fichiers DSC_*.* puis tapez le nom que vous avez donné au script et appuyez sur entrée.

#!/bin/bash
for f in DSC_*.*; do
    ts="$(GetFileInfo -d "$f")"
    e="$(date -j -f "%m/%d/%Y %H:%M:%S" "$ts" +%s)"
    ((o=60*60*5))
    ((e+=o))
    nd="$(date -r $e "+%m/%d/%Y %H:%M:%S")"
    SetFile -m "$nd" "$f"
    SetFile -d "$nd" "$f"
done

Si le commentaire à l'OP est supprimé, le code ci-dessus est basé sur la réponse à Mise à jour de la date de création du fichier de X jours sur Mac OSX et modifié pour les +5 heures demandées. Si vous souhaitez uniquement modifier l'heure de création, commentez, en plaçant un # devant, ou supprimez la ligne SetFile -m "$nd" "$f".

1voto

anesbitt Points 11

Il existe une excellente petite application appelée shootShifter sur l'App Store (et peut-être directement) qui est conçue exactement pour cela. Il vous permet de sélectionner graphiquement des photos et de configurer/modifier à la fois les dates du système de fichiers et les dates EXIF. Cela a bien fonctionné pour moi.

(Je n'ai aucun lien, sauf en tant qu'utilisateur de l'application.)

LesApples.com

LesApples est une communauté de Apple où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres utilisateurs d'appareils Apple, poser vos propres questions ou résoudre celles des autres.

Powered by:

X