¿Software para cotejar la fecha EXIF ​​tomada con la fecha en el nombre del archivo?

Tengo una biblioteca de unas 25.000 fotos (JPG). He estado manteniendo la biblioteca para que la fecha tomada en los datos EXIF ​​refleje la fecha de captura real, pero sigo encontrando excepciones en las que me he perdido alguna foto.

Dado que todos los archivos se denominan "YYYY xxxx" (donde YYYY es la fecha de captura y xxxx es una descripción), quiero intentar ubicar todos los archivos en los que el año de la fecha de captura en los datos EXIF ​​no coincida con los primeros 4 caracteres. del nombre del archivo.

¿Alguien sabe de una manera de hacer esto? Estoy ejecutando Windows 7 X64

Respuestas (2)

ExifTool es una herramienta multiplataforma que funcionará desde la línea de comandos de Windows. Es muy poderoso, con una sintaxis basada en perl que permite la comparación de varios metadatos. En un directorio lleno de archivos JPEG, este comando imprimirá una lista de todos los archivos en los que el comienzo del nombre del archivo no coincida con el año del valor EXIF ​​tomado en la fecha:

exiftool -d "%Y" -if "$FileName !~ /^$DateTimeOriginal/" -p "$FileName" *.jpg

Tenga en cuenta las comillas dobles ya que está en Windows. En Mac o Linux, use comillas simples:

exiftool -d '%Y' -if '$FileName !~ /^$DateTimeOriginal/' -p '$FileName' *.jpg

Esto también imprimirá algo así como "Condición fallida de 1600 archivos"; aquí, "fallido" significa que tienen el nombre correcto , ya que la "condición" dada no coincide, lo cual es indicado por el !~operador. Cambie eso a =~si desea que imprima solo los archivos que coinciden . (El ^indica el comienzo del archivo; la sintaxis es la de las expresiones regulares de Perl ).

La parte -d '%Y'establece que el formato de fecha sea solo el año. Puede cambiar eso para que coincida con su convención de nomenclatura. Por ejemplo, si se supone que sus archivos deben comenzar con un año de cuatro dígitos, un mes de dos dígitos y un día de dos dígitos, separados por un guión, use -d '%Y-%m-%d'.

Si tiene varias carpetas, reemplace *.jpgal final de la línea con -r ., lo que hará que ExifTool se ejecute recursivamente en cada una. (Se .supone que desea comenzar en el directorio actual; cambie el .a un nombre de ruta si desea ejecutarlo en otro lugar). También en ese caso, probablemente desee -p '$Directory/$FileNameen lugar de solo FileName solo.

Si desea profundizar en él, ExifTool puede incluso cambiar el nombre de los archivos de forma condicional, por lo que podría ampliar lo anterior para solucionar sus archivos problemáticos, en lugar de simplemente identificarlos.

También puede usar ExifTool para copiar la parte de descripción de su nombre de archivo en los metadatos internos del archivo, tal vez estableciéndolo como el Título XMP.

Muchas gracias por esto. Descargué ExifTool y probé el comando anterior, pero recibo estos dos errores: "Archivo no encontrado: !~" y "Archivo no encontrado: /$DateTimeOriginal/' ???
@itm ¿Quizás pruebe con comillas dobles en su lugar si usé comillas simples? No tengo acceso a Windows para probar.
De acuerdo, confirmé en las preguntas frecuentes de ExifTool que Windows realmente quiere comillas dobles aquí.
Eso es perfecto, ahora está funcionando. Muchas gracias por su ayuda.
Esto debería poder escalar a una biblioteca ridículamente grande con bastante gracia. Tengo curiosidad por saber cuánto tarda el tuyo.

He usado Advanced Renamer para hacer esto. Use el método Reemplazar y use las etiquetas de imagen como texto de reemplazo.

¿Puede esto identificar archivos existentes que no se ajustan al esquema?
Sí, la pantalla muestra el nombre anterior y posterior y está codificado por colores para cambiar y no cambiar. No pasa nada hasta que cometes la acción.
Gracias por esto. Las funciones parecen ideales, pero el tamaño de mi biblioteca de fotos la hace prácticamente inutilizable. Simplemente hacer clic en un cuadro de texto para modificar una cadena de búsqueda genera un retraso de unos minutos cada vez. Es una pena, ya que de lo contrario parece una herramienta realmente excelente. Una vez que he agregado mi biblioteca de fotos a la lista de archivos, la interfaz de usuario deja de responder :0(