Wie kann man das Erstellung Datum von einem Bild ändern?

3 Antworten

Ich hatte das gleiche Problem und wollte nicht mühselig jedes Bild einzeln bearbeiten.

Hab dann mit ChatGpt einen Phyton Code schreiben lassen, der für alle mir untergekommenden Dateitypen das Erstelldatum durch das Änderungsdatum ersetzt. Dafür im Code den Quellordner und Zielordner angeben.

import os

import shutil

from datetime import datetime

from pathlib import Path

import pywintypes

import win32file

import win32con

def set_creation_date(file_path, creation_time):

  wintime = pywintypes.Time(creation_time)

  handle = win32file.CreateFile(

    file_path, win32con.GENERIC_WRITE, 0, None, win32con.OPEN_EXISTING, 0, 0

  )

  win32file.SetFileTime(handle, wintime, None, None) # Ändert nur das Erstellungsdatum

  handle.close()

def format_datetime(dt):

  return dt.strftime("%Y%m%d_%H%M%S")

def process_files(source_folder, target_folder):

  # Liste der unterstützten Dateiformate basierend auf deiner Liste

  supported_formats = [

    '.3gp', '.aae', '.bkup', '.crypt12', '.db', '.dng', '.docx', '.flv', 

    '.gif', '.heic', '.ini', '.jpeg', '.jpg', '.mov', '.mp4', '.png', 

    '.txt', '.unknown', '.webp', '.xcf'

  ]

   

  for root, _, files in os.walk(source_folder):

    for filename in files:

      source_file = os.path.join(root, filename)

       

      # Prüfen, ob es sich um eine unterstützte Datei handelt

      if filename.lower().endswith(tuple(supported_formats)):

        # Änderungsdatum abrufen

        modified_time = os.path.getmtime(source_file)

        modified_date = datetime.fromtimestamp(modified_time)

         

        # Zielordner für die aktuelle Datei erstellen

        relative_path = os.path.relpath(root, source_folder)

        target_subfolder = os.path.join(target_folder, relative_path)

        Path(target_subfolder).mkdir(parents=True, exist_ok=True)

        # Datei kopieren

        target_file = os.path.join(target_subfolder, filename)

        shutil.copy2(source_file, target_file)

        # Erstellungsdatum in den Metadaten der neuen Datei setzen, außer bei .aae-Dateien

        if not filename.lower().endswith('.aae'):

          set_creation_date(target_file, modified_date)

        print(f"Copied: {source_file} to {target_file} with creation date {modified_date}")

# Beispielaufruf

source_folder = r"C:\Pfad\Quelle" # Ersetze dies mit deinem Quellordner

target_folder = r"C:\Pfad\Ziel"  # Ersetze dies mit deinem Zielordner

process_files(source_folder, target_folder)

Kann man das Aufnahmedatum eines Bildes ändern?
Wenn lediglich die Aufnahmezeit und das Datum geändert werden müssen, hilft das gratis Programm EXIF Date Changer. Das Freeware-Tool ist in der Lage, sowohl das Aufnahme- als auch das Änderungsdatum auszulesen und zu verändern. Darüber hinaus können einzelne weitere Metadaten mit diesem Werkzeug geändert werden.
Exif-Daten manipulieren – Auslesen, Ändern und Löschen ...