¿Existe un programa gratuito para (lote) cambiar la fecha del archivo de fotos para que coincida con EXIF?


40

Quiero especificar un directorio y hacer que el software encuentre todas las fotos en el directorio y sus subdirectorios, y si contienen fecha / hora EXIF, configura su marca de tiempo del sistema de archivos para que coincida con el EXIF.


Por supuesto, hoy en día, haría esta pregunta sobre recomendaciones de software ; sin embargo, obtuvo algunas excelentes respuestas aquí
Mawg

Respuestas:


47

Esto es lo contrario de ¿Hay algún software que establezca las fechas EXIF ​​en función de la fecha de modificación del archivo? , y estoy seguro de que se aplicarán todos los programas enumerados allí.

jhead

De estos, para esta tarea muy simple, jhead es mi sugerencia. Por ejemplo, el comando

jhead -ft *.jpg

establece un montón de archivos para que la marca de tiempo del archivo coincida con EXIF.

jhead con find, para pasar por subdirectorios

Para realizar la recursión en subdirectorios, puede combinarlo con el findcomando disponible en Linux / Unix / Mac (o Cygwin para Windows):

find -name '*.jpg' -exec jhead -ft {} +

O para encontrar alguno de *.JPG *.JPEG *.jpg *.jpeg ...ustedes también puede intentar

find -iname '*.jp*g' -exec jhead -ft {} +

También puede usar find para mostrar todos los archivos que se encontrarían ... sin ejecutar ningún otro comando (como jhead):

find -iname '*.jp*g'

Otras herramientas

Otras utilidades como ExifTool o Exiv2 son mucho más capaces, pero a costa de la complejidad. Nunca recuerdo de antemano las opciones correctas para hacer algo con ellos y tengo que mirar la documentación cada vez, pero jhead -ftes fácil de recordar con el mnemónico "tiempo fijo".

ExifTool

Simplemente para la corrección, sin embargo, yo hice vistazo a la documentación, y con ExifTool , hacer esto:

exiftool -r '-DateTimeOriginal>FileModifyDate' directoryname

(Elimine el -rsi no desea la recursividad, y si lo hace, también puede dar una lista de archivos o un comodín en lugar de directoryname). Y tenga cuidado con esas citas: si está ejecutando esto en Windows, desea "en lugar de '.

Exiv2

Con Exiv2 :

exiv2 -T rename *.jpg

Tenga en cuenta que con minúsculas -t(o sin ninguna -T) Exiv2 también cambiará el nombre del archivo a un nuevo nombre basado en la marca de tiempo, lo que puede ser muy confuso. Exiv2 tampoco hace recursión.


2
Tienes razón, esto es lo opuesto pero infinitamente más útil :)
Itai

jhead es muy útil para esto, Y para muchas otras manipulaciones de archivos jpg. Tenga cuidado al usarlo: es una herramienta extremadamente poderosa que puede causar una cierta cantidad de estragos si se usa incorrectamente. Recomiendo usarlo en un archivo por lotes para que siempre haga lo que pretende, y probar primero el resultado en un conjunto de archivos de prueba.
Russell McMahon

+1 pero me di la respuesta ;-) Solo para que otros en el futuro puedan encontrar una manera de hacer exactamente lo que le pedí ...
Mawg

@olibre Sí, eso funcionará en Linux / Unix o Mac.
mattdm

He notado que algunos navegadores de imágenes presentan imágenes (diaporama) solo en el orden del nombre del archivo (no en el tiempo de modificación del archivo). Finalmente uso la marca de tiempo EXIF ​​para establecer el tiempo del archivo Y para prefijar el nombre del archivo. Yo uso el comando find -name '[0-9][0-9]*' -o -iname '*.jp*g' -type f -exec jhead -ft -n%Y%m%d_%H%M%S_%f {} +. Explicaciones: -name '[0-9][0-9]*'para evitar cambiar el nombre de los archivos que ya tienen un prefijo de fecha ( '[0-9][0-9]para tener en cuenta años y meses). -iname '*.jp*g'se puede omitir porque jheadsolo procesa archivos compatibles (solo archivos JPEG). %fpara mantener el nombre del archivo original.
olibre

12

Irfanview y Jhead harán lo que quieras.
Ambos gratis.
Enlaces a ambos a continuación.
jhead es impulsado por la línea de comandos o puede ser llamado por otros procesos.
La versión de Irfanview se puede invocar desde una línea de comandos o internamente en un lote o archivo por archivo.

El siguiente ejemplo para Irfanview muestra cómo copiar en cualquier dirección:


Irfanview

Permite cambios en la GUI o en la línea de comandos del lote o por transferencia de fecha / hora de archivo desde EXIF ​​a especificaciones de archivo o viceversa (sin otros cambios de archivo si así se desea).

Fuente: Gratis de www.irfanview.com

Esto es MUCHO más fácil y rápido en la práctica después de unos pocos usos que las instrucciones a continuación lo hacen aparecer. por ejemplo,
para convertir la fecha / hora de un solo archivo a valores EXIF ​​se requieren
Mayús-J, Alt-F, Entrar.
Ver por qué las primeras veces lleva más tiempo.

Para hacer esto para un lote de archivos SONIDOS complejos de aprender -
Requiere: T, Ctrl-A, Alt-F, J, Enter, (Alt-F), Enter
(O: T, Ctrl-A, Shift-J, Intro) (ofrece menos opciones)
PERO, de hecho, es casi completamente intuitivo después de un poco de uso: los menús lo guían inicialmente hasta que se forma el camino cerebral.

GUI, por archivo

  Options, JPG lossless rotation  (Shift-J)
    Select "Apply original EXIF date/time to new file"
        Consider also selecting other options

ingrese la descripción de la imagen aquí

GUI, uno o muchos archivos (a través de la vista en miniatura)

Open Thumbnails view ('File, Thumbnails' or 'T' from Window view
Select images to change EXIF data of 
    usually all in folder -> Ctrl-A
Then: File, 'JPG lossless operations'
    (1) Change EXIF date/time
      "Change EXIF date/time"
        Options are offered to set Date/time to specific setting
        or to move all times back/forwards by selected DHMS amount 
              calculator provided to check result is as desired.                 
     (2) Transfer EXIF date / time to file saved date time
          "Lossless rotation with selected files"  [Shift-J]
          then, as for single file version above
              Select "Apply original EXIF date/time to new file"

ingrese la descripción de la imagen aquí

Desde la línea de comando : esta es una "rotación" sin acción excepto para copiar la fecha / hora desde EXIF ​​a la fecha y hora del archivo. Lo contrario también se puede lograr si se desea. :

  • i_view32.exe file_spec \ *. jpg / jpg_rotate = (0,0,0,1,0,0,0,0)

  • Para copiar la fecha / hora en la dirección opuesta ((especificación de archivo a EXIF)
    use como se indica arriba con (0,0,1,0,0,0,0,0)


jhead

hará casi cualquier cosa que puedas imaginar con archivos jpeg

Fuente: Gratis de http://www.sentex.net/~mwandel/jhead/

Yo uso un archivo por lotes como a continuación. Otras opciones son posibles:

  • jhead -ft % 1 .jpg

Dicen: cosas que Jhead puede modificar en un archivo JPEG EXIF

  • Imágenes arriba-derecha de acuerdo con la etiqueta de rotación utilizando jpegtran
    Set o relativa ajustar Exif interna marcas de tiempo
    para corregir la fecha / desplazamientos de tiempo en grandes lotes de imágenes
    de nombres de incendio o la marca de fecha archivos de acuerdo con Exif marca de tiempo
    de transferencia Exif cabeceras entre las imágenes
    Reemplazar imágenes en miniatura en el interior Exif cabeceras
    jpeg Editar comentarios (pero no los comentarios Exif)
    Eliminar secciones exif o comentarios de imágenes jpeg
    Crear un nuevo encabezado exif mínimo que contenga la fecha y la miniatura

_________________________

Nota: agosto de 2016: "Usuario anónimo" sugirió correctamente que una conversión sugerida no funcionó como dije. He agregado mucho al área en cuestión.


Agosto de 2016: "Usuario anónimo" sugirió correctamente que una conversión sugerida no funcionó como dije. He agregado mucho al área en cuestión.
Russell McMahon

¿Qué pasa con los archivos sin formato?
Michael C

@MichaelClark Me alegro de que hayas hecho esa pregunta :-). Observo que todos parecemos haber abordado los archivos JPG y no RAW. Me imagino que sería una de las personas más propensas a preguntar cómo hacer esto con archivos RAW :-).
Russell McMahon

4

Solo otra herramienta EXIF ​​de línea de comandos que puede cambiar la última fecha de modificación de los archivos para que coincida con el momento de tomar la imagen, según la metada EXIF ​​en el archivo de imagen JPEG:

 exiv2 -T rename somedir/foo*.jpg

No se preocupe, el argumento del comando renameestá bien allí y no hace daño.
Es solo que la acción de cambio de nombre del archivo se usa incorrectamente para crear solo el efecto secundario de cambiar la marca de tiempo.


2

Si bien realmente no recomiendo confiar en la fecha / hora del archivo cuando se trata de sus imágenes, puede usar una herramienta gratuita llamada EXIF Date Changer para configurar por lotes las fechas de archivo de todas sus imágenes JPG. La configuración predeterminada establecerá la fecha de creación y la fecha de modificación del archivo en la foto tomada.

La razón por la que no recomiendo esto es que la fecha del archivo se actualiza fácilmente. Si edita la imagen, la fecha de modificación se actualiza. Si copia la imagen, obtiene una nueva fecha.

Una solución mucho mejor es cambiar el nombre de los archivos para incluir la fecha / hora en el nombre del archivo. Esto todavía permite una clasificación fácil y funciona bien con imágenes almacenadas en iPhones / dropbox.

Cambiador de fecha EXIF ​​- Establecer fechas de archivo a la fecha de toma



2

FastStone Image Viewer puede hacer esto (se utiliza la versión 4.9): simplemente seleccione los archivos en el panel de miniaturas, haga clic con el botón derecho en ellos, seleccione "Herramientas"> "Cambiar marca de tiempo", luego puede usar datos EXIF ​​(con o sin modificaciones) o usar wholy Fecha / hora manual fija personalizada.


¡Guauu! No lo sabía. He estado usando su herramienta de captura de pantalla durante años y no he encontrado nada mejor. Puedes obtener la última versión gratuita aquí ; No necesito ninguna de las funciones de pago. También he usado su visor en el pasado, pero no sabía que podía hacer eso.
Mawg

1

Advance Renamer es el mejor software fácil de usar que es muy simple.

  1. Arrastra y suelta todas las fotos en AR (Advance Renamer)

  2. Haga clic en (Arriba a la izquierda) Agregar método -> Nuevo nombre

  3. Haga clic en una de las imágenes en la parte inferior central, verá un botón ExifTool que muestra todos los metadatos, simplemente haga clic en un atributo y obtendrá la etiqueta. En este caso es<ExifTool:DateTimeOriginal>

  4. Copie esto y péguelo en el cuadro de texto Nuevo nombre Puede agregar cualquier cosa antes o después IMG_<ExifTool:DateTimeOriginal>, como , DSC_<ExifTool:DateTimeOriginal>etc.

  5. Haga clic en Iniciar lote (arriba a la derecha) Esto cambiará el nombre de todos sus archivos con la fecha, por ejemplo, 2017_12_01 19_10_12 Siempre es bueno tener la fecha original en el nombre del archivo porque los atributos pueden perderse pero los nombres de los archivos no.

  6. Nuevamente, arrastre todos los archivos renombrados a AR
  7. Haga clic en Nuevo método -> Marca de tiempo
  8. Marque las 3 casillas de verificación Crear, Modificar, Accedido (Algunas veces, acceder puede no funcionar, simplemente desactívelo si sucede)
  9. Seleccione FileName Pattern y pegue<Year>_<Month>_<Day> <Hour>_<Min>_<Sec>
  10. Iniciar lote.
  11. Estas bien. Misión cumplida

0

Se lo sugerí al autor de PhotoRenamer, quien respondió ...

PhotoRenamer 3.2 http://www.tgmdev.be/applications/photorenamer/photorenamer.php

Agrego un botón en la pestaña 'Opciones' de la cinta de opciones. Desde allí, puede seleccionar la opción para actualizar el estado del archivo.

Por cierto, para evitar el uso de máscara, también agrego un nuevo atributo de máscara:% F. Si usa esta máscara simple, el archivo cambia de nombre ... con su propio nombre ... Por lo tanto, no está obligado a cambiar el nombre del archivo para el que desea actualizar los atributos de tiempo del archivo ...


0

Esta es una vieja pregunta y parece que hay algunas sugerencias que deberían funcionar bien, pero a la que llegué para solucionar un problema de pedido de archivos después de una actualización de un teléfono Android fue esta.

  • Abra Windows (por primera vez en mucho tiempo)
  • Instale ExtFS o algo que pueda leer particiones ext4
  • Copie fotos al disco duro desde Micro SD
  • Utilice el Cambiador de atributos ( https://www.petges.lu/home/ ) para establecer las fechas creadas / modificadas en la fecha EXIF
  • Tarjeta de golpe en el teléfono
  • Copie las fotos de nuevo al teléfono a través de MTP

Tal vez esto sea útil para alguien.


Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.