Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Renommer fichiers en série / date de création fichier

31 réponses
Avatar
Dangaut
Bonjour,

J'envisage de renommer toutes mes photos en incluant la date de
création dans le nom du fichier. Le pb c'est que les logiciels que j'ai
trouvé utilisent au mieux la date de modification du fichier et non pas
la date de création. C'est assez ennuyeux pour la chronologie.

Sauriez vous m'en indiquer un correspondant à ce besoin et qui m'aurait
échappé?

Merci d'avance

10 réponses

1 2 3 4
Avatar
Ofnuts
On 23/05/2010 20:13, Dangaut wrote:
Ofnuts a formulé la demande :
que si la date de modification correspond effectivement à la date de
modification du *contenu*, la date de création ou d'accès font elles
référence au *contenant*. Par exemple, on a un fichier, créé à 00:00,
modifié à 01:00. On en fait une copie à 02:00: la copie a une date de
création à 02:00 (parce que c'est l'heure à laquelle ce fichier a été
mis sur le disque) mais le date de modification est 01:00 (parce que
c'est le même contenu que dans le fichier d'origine à 01:00).
Corollaire: quand un fichier est copié d'un média sur l'autre, sa date
de création s



Merci pour cette vision que je comprend tout à fait.
Je pense que mon Pb est différent: Il ne s'agit pas de générer un nom
initial: L'APN n'est pas fiable dans la chronologie des noms de fichiers
est je dois recréer la chronologie évennementielle de mes fichiers. De
plus, pour les photos retouchées je subis ce que tu décris très
justement ci-dessus. La combinaison de ces 2 pb fait que pour remettre
de l'ordre, seule la date de création initiale de l'image peut faire
référence.





Encore faut-il l'avoir... elle ne se trouve que sur les cartes flash de
l'appareil. Sur le PC c'est l'heure de transfert et si ça a été fait par
un tirer/lâcher ça n'est même pas dans l'ordre d'origine.

Normalement, les numéros de l'appareil sont fiables et croissants, avec
les bonnes options en fonction des habitudes du photographe.

--
Bertrand
Avatar
Pleinair
Le 23/05/10 18:29, haaaTchoum a écrit :
Irfanview, qui permet, entre autres, de mettre n'importe valeur EXIF.
http://www.irfanview.com/ (freeware)
(et tout ça tenant sur une simple disquette 3"1/2 1.44Mo, si c'est pas
formidable)



Si si, surtout maintenant qu'il n'y a plus de lecteur disquettes sur les
PC/Mac...

François.
Avatar
Gerald
Anne wrote:

sur une machine sous Windows o LInux ?

http://www.mesnews.net/

Désolée.



La courtoisie n'est pas un rébus (j'ignorais ce que sous-entendait
mesnouws). Elle suppose, sur un forum multiplateforme et si celle qu'on
utilise est limitée (ce qui n'est pas mon cas), de préciser sa
configuration. Sinon la réponse se défend en ce sens qu'elle peut servir
à d'autres.

Désolé aussi.
--
Gérald
Avatar
Gerald
Ofnuts wrote:

Pour les photos, il y a par contre une bien meilleure solution, un
certain nombre de métadonnées (dont la date de prise de vue) sont
enregistrée dans le fichier (elles sont connues sous le nom d'"EXIFs").
Ces données sont normalement respectées par les programmes de traitement
d'images, et donc tant que le fichier est traité par des logiciels
écrits proprement, elle sont transférées d'une version à l'autre de la
photo. Certains programmes (XnView, je crois, entre autres), savent les
utiliser pour renommer les fichiers en masse.



Puisque tu abordes ce sujet : as-tu une solution simple pour le cas des
numérisations de photos analogiques ? Les données EXIF permettent-elles
de noter séparément la date de prise de vue de la photo initiale ET
séparément la date de numérisation ? Ou bien faut-il tout coller en
"commentaires" ?
--
Gérald
Avatar
Dangaut
Dangaut a écrit :
Bonjour,

J'envisage de renommer toutes mes photos en incluant la date de
création dans le nom du fichier. Le pb c'est que les logiciels que
j'ai trouvé utilisent au mieux la date de modification du fichier et
non pas la date de création. C'est assez ennuyeux pour la
chronologie.

Sauriez vous m'en indiquer un correspondant à ce besoin et qui
m'aurait échappé?

Merci d'avance



Merci à tous pour votre aide. Dans la plupart des logiciels proposés je
n'ai pas trouvé le paramètrage apportant la solution.
Seul IrfanView m'a permi de résoudre l'équation avec le paramètrage
$E36867(%Y%m%d)-####.

Les possibilités dans ce domaine sont énormes par la récupération des
données EXIF (merci Markorki). Dans l'aide IrfanView rechercher
"Text/Pattern Options"
Avatar
Jean_
Dangaut a exposé le 24/05/2010 :
Merci à tous pour votre aide. Dans la plupart des logiciels proposés je n'ai
pas trouvé le paramètrage apportant la solution.
Seul IrfanView m'a permi de résoudre l'équation avec le paramètrage
$E36867(%Y%m%d)-####.



Mal cherché !

Avec Exifer, on fait par lot :
- rename/redate
- rename -> date création en AAMMJJHHMMSS+"original name" ce qui permet
de les classer par date de création et de conserver le nom.

Exemple : 051103-154232-nom.jpg

Avec des variantes possibles : sans les secondes, l'heure avant la
date, le nom en premier, etc...

C'est là : http://www.exifer.friedemann.info/
Avatar
kilobug
--=-=- Content-Type: text/plain; charset=iso-8859-1
Content-Transfer-Encoding: 8bit


Dangaut a écrit :

Bonjour,
J'envisage de renommer toutes mes photos en incluant la date de
création dans le nom du fichier. Le pb c'est que les logiciels que
j'ai trouvé utilisent au mieux la date de modification du fichier et
non pas la date de création. C'est assez ennuyeux pour la chronologie.

Sauriez vous m'en indiquer un correspondant à ce besoin et qui
m'aurait échappé?



Si ça intéresse quelqu'un j'ai fait un petit script Python qui met la
date de modification (au sens du système d'exploitation) de tous les
fichiers jpeg contenus dans une arborescence à la date contenue dans
le champ EXIF correspondant. Et au passage il met la date de
modification des répertoires à la date du fichier le plus récent
contenu dedans.

Il faut python et pyexiv2, je ne l'ai testé que sous des Debian
GNU/Linux. Ça devrait marcher sur tout système Unix (y compris MacOS
X) et même peut-être sous Windows avec cygwin (il utilise la commande
Unix "touch", donc faut cygwin).

Voilà c'est en GPLv3 ;)


--=-=- Content-Type: text/x-python; charset=iso-8859-1
Content-Disposition: attachment; filename=exiftouch
Content-Transfer-Encoding: 8bit

#!/usr/bin/env python

#############################################################################
# exiftouch.py - description #
# ------------------- #
# copyright : (C) 2008-2010 by Gaël Le Mignot #
# email : #
#############################################################################

#############################################################################
# #
# This program is free software; you can redistribute it and/or modify #
# it under the terms of the GNU General Public License as published by #
# the Free Software Foundation; either version 3 of the License, or #
# (at your option) any later version. #
# #
#############################################################################

import sys, os, commands, time, pyexiv2

def get_info_jpg(path):
image = pyexiv2.Image(path)
image.readMetadata()

keys = set(image.exifKeys())

for key in ('Exif.Photo.DateTimeOriginal', 'Exif.Photo.DateTimeDigitized',
'Exif.Image.DateTime'):
if key in keys:
try:
value = image.interpretedExifValue(key)
value = value.replace(": ", ":0").replace(" ", " 0")
timestamp = time.strptime(value, '%Y:%m:%d %H:%M:%S')
if timestamp:
return timestamp
except:
raise
pass
return None

def get_info_movie(path):
res = commands.getoutput("mplayer -vo null -ao null -identify -frames 0 '%s'" % path)
res = res.split("n")
res = [ r for r in res if 'Digitization Time:' in r ]
if not res:
return None
_, res = res[0].split(":", 1)
try:
return time.strptime(res.strip())
except:
return None

def get_info_default(path):
info = os.stat(path)
return time.localtime(min(info.st_mtime, info.st_ctime))


handlers = { ".jpg": get_info_jpg,
".jpeg": get_info_jpg,
".mov": get_info_movie,
".avi": get_info_movie, }


def process_file(path):
base, ext = os.path.splitext(path)
lext = ext.lower()
if lext != ext:
newpath = base + lext
os.rename(path, newpath)
path = newpath
ext = lext

newtime = handlers.get(ext, None)
if callable(newtime):
try:
newtime = newtime(path)
except Exception, e:
print "Error in getting time from %s: %s" % (path, str(e))
newtime = None
if not newtime:
print "Timestamp not found in %s" % path
newtime = get_info_default(path)

return path, newtime

def process_dir(path):
vals = []
for f in os.listdir(path):
full = os.path.join(path, f)
vals.append(process(full))
if not vals:
return path, get_info_default(path)
else:
return path, max(vals)

def process(path):
if os.path.isdir(path):
path, value = process_dir(path)
elif os.path.isfile(path) or os.path.islink(path):
path, value = process_file(path)

timestamp = time.strftime("%Y%m%d%H%M.%S", value)
os.system("touch -t %s '%s'" % (timestamp, path))
print "touch -t %s '%s'" % (timestamp, path)

return value

if len(sys.argv) != 2:
print """This program will change filesystem dates and times of files
(pictures and movies) from date stored in metadata (exif, ...).

It'll also change the date of directories to the most recent file
contained in it.

Syntax: %s <directory>""" % sys.argv[0]
sys.exit(1)

process(sys.argv[1])



--=-=-


--
Gael Le Mignot "Kilobug" - - http://kilobug.free.fr
Fingerprint : 1F2C 9804 7505 79DF 95E6 7323 B66B F67B 7103 C5DA

Member of HurdFr: http://hurdfr.org - The GNU Hurd: http://hurd.gnu.org

--=-=-=--
Avatar
yamo'
Salut,

Dangaut a tapoté, le 23/05/2010 10:31:
J'envisage de renommer toutes mes photos en incluant la date de
création dans le nom du fichier. Le pb c'est que les logiciels que j'ai
trouvé utilisent au mieux la date de modification du fichier et non pas
la date de création. C'est assez ennuyeux pour la chronologie.



Avec pyRenammer* j'utilise la règle
{imageyear}_{imagemonth}_{imageday}-{imagetime}_{cameramaker}-{cameramodel}_{imagedate}_{1}

Cette règle doit être adaptable à un autre logiciel lisant les exifs.

Et ça me donne bien la date et l'heure de prise de vue (pratique quand
plusieurs personnes prennent des photos en même temps).

* <http://doc.ubuntu-fr.org/pyrenamer>



--
Stéphane
http://pasdenom.info
Avatar
Ofnuts
On 24/05/2010 07:37, Gerald wrote:
Ofnuts wrote:

Pour les photos, il y a par contre une bien meilleure solution, un
certain nombre de métadonnées (dont la date de prise de vue) sont
enregistrée dans le fichier (elles sont connues sous le nom d'"EXIFs").
Ces données sont normalement respectées par les programmes de traitement
d'images, et donc tant que le fichier est traité par des logiciels
écrits proprement, elle sont transférées d'une version à l'autre de la
photo. Certains programmes (XnView, je crois, entre autres), savent les
utiliser pour renommer les fichiers en masse.



Puisque tu abordes ce sujet : as-tu une solution simple pour le cas des
numérisations de photos analogiques ? Les données EXIF permettent-elles
de noter séparément la date de prise de vue de la photo initiale ET
séparément la date de numérisation ? Ou bien faut-il tout coller en
"commentaires" ?



Le format Exif (<http://www.exif.org/dcf-exif.PDF>) supporte très bien çà:

- Horodatage de prise de vue ("DateTimeOriginal", étiquette 9003h)
- Horodatage de numérisation ("DateTimeDigitized", étiquette 9004h)

Elles sont bien entendu identiques quand l'image provient d'un APN.
Reste à savoir, si par souci de simplification, les utilitaires ne les
considèrent pas comme interchangeables.

--
Bertrand
Avatar
Jean-Pierre Roche
Le 24/05/2010 07:37, Gerald a écrit :

Puisque tu abordes ce sujet : as-tu une solution simple pour le cas des
numérisations de photos analogiques ? Les données EXIF permettent-elles
de noter séparément la date de prise de vue de la photo initiale ET
séparément la date de numérisation ? Ou bien faut-il tout coller en
"commentaires" ?



Non : il existe des champs exif séparés pour ces deux dates...
Il faut disposer d'un *bon* éditeur de données EXIF. Par
exemple celui que j'ai cité : ExifTool.


--
Jean-Pierre Roche

enlever sanspub pour m'écrire...
1 2 3 4