4 votes

Comment changer la date de mes photos et vidéos sur mon téléphone en fonction de leur nom de fichier ?

Hier, j'ai déplacé un tas de vieilles photos et vidéos sur mon téléphone, en utilisant un serveur FTP que j'ai installé sur mon téléphone. Tout s'est bien passé, mais j'ai découvert aujourd'hui que la date de toutes les photos et vidéos copiées était fixée à hier. Par conséquent, mes photos et vidéos apparaissent maintenant dans le mauvais ordre dans l'application Galerie.

(Cliquez sur l'image pour l'agrandir)

IMG: screenshot

Heureusement, la date et l'heure sont toujours conservées dans les noms de fichiers. Pour l'instant, je veux restaurer la date des photos et des vidéos en utilisant leurs noms de fichiers.

Je suis intéressé par un moyen de le faire. Je me fiche de savoir si c'est en utilisant une application, un script ou autre chose.

Je suis conscient du fait que je peux copier les fichiers de mon ordinateur vers le téléphone en utilisant un autre protocole, mais ce n'est pas ce que je recherche.

1voto

Exeleration-G Points 199

J'ai fini par écrire un plutôt sale pour ce faire. Pour que cela fonctionne, je suppose que vous avez un appareil enraciné, et le répertoire qui contient les photos et les vidéos est le suivant /sdcard/DCIM/Camera . Dans le cas contraire, modifiez le script.

  1. Télécharger BusyBox et l'installer. Il est nécessaire pour exécuter les commandes du shell Linux.

  2. Créez un script appelé script.sh contenant ce bloc de code, et mettez-le sur la racine de votre carte SD.

    cd DCIM/Camera
    echo "Navigated to `pwd`"
    
    ls
    
    for f in *.jpg *.3gp *.m4v
    do
    
      [ -e $f ] || continue    ## testing if the file exists
      NEWDATE=`echo $f | sed 's|IMG_||g' | sed 's|VID_||g' | sed 's|_||g' | \
      sed 's|.3gp||g'  | sed 's|.m4v||g' | sed 's|.jpg||g' | sed 's|........|&\.|g'`
    
      echo "Touching date $NEWDATE into $f..."
    
      touch -t "$NEWDATE" "$f" ## using touch to insert the new date into the file
    
    done
  3. Lancez le shell adb, et exécutez :

    su
    mount -o remount rw /sdcard

    pour s'assurer que vous pouvez réellement éditer les fichiers

  4. Déplacez-vous sur votre carte SD :

    cd /sdcard
  5. Exécutez le script shell :

    sh script.sh
  6. Maintenant, lancez l'application Galerie, et attendez. Surtout si vous avez une grande collection de fichiers, Android peut prendre un certain temps pour tout trier et mettre à jour le cache.

1voto

strange quark Points 2947

Si les données EXIF sont correctes, vous pouvez utiliser jhead . Notez que cela ne fonctionne que pour les fichiers JPEG.

Tout d'abord, vérifiez si les fichiers ont toujours des données EXIF correctes en utilisant :

jhead <file>

Utilisez ensuite la méthode de jhead -ft option :

-ft Définit l'horodatage du système du fichier en fonction de ce qui est stocké dans l'en-tête Exif.

jhead *.jpg

0voto

leon Points 1270

Vous pouvez facilement modifier l'horodatage de images avec de nombreux visionneurs d'images. Par exemple dans FastStone Viewer : Outils -> Modifier l'horodatage -> choisir la date de création à partir de l'EXIF. Vous pouvez sélectionner toutes vos images avant et appliquer cette fonction sur toutes les images en même temps.

Ma seule idée pour les vidéos est un script, qui analyse un nom et définit l'attribut du fichier.

0voto

Tamoghna Chowdhury Points 3137

Il s'agit d'une application que vous pouvez réaliser vous-même, ou que je peux réaliser pour vous si vous le souhaitez. Elle implique la manipulation de fichiers à l'aide de l'API de fichiers Java ou des outils shell Unix, selon votre préférence. Je pense que si vous avez une quelconque expérience de la programmation, la documentation de l'API Java est un bon point de départ. Ou, si vous avez Windows, vous pouvez utiliser une extension de l'explorateur Windows appelée QTTabbar ( qttabbar.sourceforge.net ) qui dispose d'une option permettant de copier les fichiers en conservant la date de dernière modification. Je suggère de copier les fichiers de votre ordinateur vers le téléphone à l'aide d'un câble USB.

androidalle.com

AndroidAlle est une communauté de androiders où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X