# Импортируем модули
import os
import datetime
import subprocess
from PIL import Image
from PIL.ExifTags import TAGS
# Создаем таблицу соответствия
table = {}
# Получаем список выделенных файлов фотографий в текущей директории
files = os.listdir(".")
selected_files = [f for f in files if f.endswith(".jpg") or f.endswith(".png")]
# Перебираем все выделенные файлы
for file in selected_files:
# Открываем файл как изображение
image = Image.open(file)
# Получаем словарь с метаданными EXIF
exif = image.getexif()
# Извлекаем дату съемки, если есть
date_taken = exif.get(36867, None)
#------------ эти строчки я уже сам вставил, думал может хоть застрянет на этом, но ни фига ...
# print("Дата съемки - ", date_taken)
#-----------------------------
# Получаем дату создания и редактирования файла
date_created = datetime.datetime.fromtimestamp(os.path.getctime(file))
date_modified = datetime.datetime.fromtimestamp(os.path.getmtime(file))
# Сохраняем имена и даты в таблице
table[file] = (date_taken, date_created, date_modified)
# Открываем форму "Свойства" Total Commander
# Для этого используем команду wcmicons.exe с параметром 100
# Эта команда должна быть в папке с Total Commander
# Если нет, то нужно указать полный путь к ней
subprocess.run(["wcmicons.exe", "100"])
# После закрытия формы, перебираем все записанные в таблице файлы
for file in table:
# Получаем даты из таблицы
date_taken, date_created, date_modified = table[file]
# Если дата съемки есть, то устанавливаем ее в метаданные EXIF
if date_taken:
image = Image.open(file)
exif = image.getexif()
exif[36867] = date_taken
image.save(file, exif=exif)
# Устанавливаем дату создания и редактирования файла
os.utime(file, (date_created.timestamp(), date_modified.timestamp())) |