¿Cómo usar exiftool para escribir etiquetas de fecha según la ruta del archivo?

Necesito configurar la etiqueta de fecha exif de un montón de fotos almacenadas con la siguiente jerarquía: AÑO/MES/DÍA/IMG_algo.JPG

¿Cómo podría hacerlo fácilmente con exiftool?

Respuestas (1)

Básicamente, el comando sería algo así,
ExifTool "-TAG<Directory" <DIR or FILE>
suponiendo que la estructura del directorio es numérica, por ejemplo, 2015/07/04.
Pero puede haber problemas dependiendo de la etiqueta exacta que desee usar. Muchas etiquetas de fecha/hora requieren una hora además de una fecha y creo que todas las etiquetas de fecha/hora EXIF ​​entran en esta categoría. Si no te importa la hora real, podrías -TAG<$Directory 00:00:00. O si desea incrementar el tiempo, puede ver esta publicación anterior para obtener ayuda.

Las etiquetas XMP suelen ser más flexibles y se pueden usar sin tiempo.

Si ya hay una hora actual en la etiqueta y solo desea cambiar la fecha, puede usar algo como esto
ExifTool "-DateTimeOriginal<$Directory ${DateTimeOriginal;s/.* //" <DIR or FILE>

No parece funcionar. Intenté: exiftool "-CreateDate<Directory 00:00:00" -r ./ y obtuve errores como: Advertencia: No se establecieron etiquetas grabables desde ./2015/03/03/IMG_3472.JPG Tal vez tenga que ver con el hecho que la etiqueta de directorio comienza con ./?
Dos cosas para probar, errores de mi parte. Si está ejecutando Linux/Mac, cambie las comillas dobles a comillas simples. Además, olvidé agregar un signo de dólar a la tarea debido a la combinación de etiqueta y texto. Así que prueba esto . exiftool '-CreateDate<$Directory 00:00:00' -r ./ No ./debería ser un problema en absoluto. El autor del programa usa ejemplos similares todo el tiempo y lo probé en mi computadora con Windows y funcionó bien.