#1 : 30/11-21 10:53 persoc
Posts: 1
|
Bonjour, ce message est rédigé en français : j'espère que google traduira correctement ;-)
J'ai plusieurs séries de photos prises en timelapse pendant plus de 7 jours. Les noms de fichier sont de type 20211011090043.jpg 20211011091044.jpg 20211011092044.jpg .... (avec dans l'ordre l'année, le mois, le jour, l'heure, la minute, et les secondes.) Je voudrais modifier uniquement les noms de fichier (et pas les dates de création!) en mesurant le temps qui s'est écoulé depuis la première photo sous le format jour/ heure/minute Jour0-00h-00min.jpg Jour0-00h-10min.jpg Jour0-00h-20min.jpg ..... Jour2-00h-00min.jpg Je pense qu'il faut utiliser un script pour : - récupérer le temps de la première photo - récupérer le temps de la photo à renommer, - Calculer la différence - renommer la photo avec la différence entre le deux Mais je ne maitrise pas l'utilisation du script ... Merci de votre aide ! |
#2 : 02/12-21 18:34 David Lee
Posts: 1125
|
Vous devrez trouver l'heure la plus proche en utilisant le script pré-batch (Cliquez sur "Tester le script..." )
Cela devrait faire l'affaire... Dans le script pré-batch: item = app.getItem(0); match = item.name.match(/^(\d{4})(\d{2})(\d{2})(\d{2})(\d{2})(\d{2})/); time0 = Date.parse(match[1] + '-' + match[2] + '-' + match[3] + 'T' + match[4] + ':' + match[5] + ':' + match[6]); n = app.itemCount; for (j=1; j<n; j++) { item = app.getItem(j); match = item.name.match(/^(\d{4})(\d{2})(\d{2})(\d{2})(\d{2})(\d{2})/); time = Date.parse(match[1] + '-' + match[2] + '-' + match[3] + 'T' + match[4] + ':' + match[5] + ':' + match[6]); time0 = Math.min(time0, time); } ... et dans la fenêtre de script principale: match = item.name.match(/^(\d{4})(\d{2})(\d{2})(\d{2})(\d{2})(\d{2})/); time = Date.parse(match[1] + '-' + match[2] + '-' + match[3] + 'T' + match[4] + ':' + match[5] + ':' + match[6]); deltaT = Math.round((time-time0)/60000); day = Math.floor(deltaT/1440); hour = Math.floor(deltaT/60) % 24; min = deltaT % 60; return 'Day' + day + '-' + ('00' + hour).slice(-2) + 'h-' + ('00'+ min).slice(-2) + 'min'; |