Ein intelligentes Python-Tool zum automatischen Organisieren und Umbenennen von Fotos, Videos und anderen Mediendateien nach Aufnahmedatum in einer übersichtlichen Ordnerstruktur.
✅ Intelligente Datumserkennung aus Dateinamen (z.B. IMG_20200405)
✅ EXIF-Daten (Aufnahmedatum) aus Fotos
✅ Video-Metadaten (via ffprobe)
✅ ISO-Format: YYYY-MM-DD_HHMMSS_originalname.ext
✅ Unterstützt: Fotos, Videos, GIMP-Projekte, PDFs, etc.
✅ Duplikat-Vermeidung bei wiederholter Ausführung
✅ Dry-Run Modus zur Vorschau
✅ Kopieren oder Verschieben möglich
✅ Flexible Ordnerstrukturen (Jahr/Monat/Tag)
- Python 3.7 oder höher
- Pip (Python Package Manager)
-
Python installieren (falls noch nicht vorhanden):
- Download von https://www.python.org/downloads/
- Bei Installation "Add Python to PATH" aktivieren
-
Benötigte Pakete installieren:
pip install -r requirements.txt- Optional: FFmpeg für Video-Metadaten installieren:
winget install FFmpegpip3 install -r requirements.txtmacOS - FFmpeg installieren:
brew install ffmpegLinux (Debian/Ubuntu) - FFmpeg installieren:
sudo apt install ffmpegFühre immer zuerst eine Vorschau aus, um zu sehen, was passieren wird:
python photo_organizer.py "C:\Meine Fotos" "D:\Organisierte Fotos"Wenn die Vorschau gut aussieht, kopiere die Fotos:
python photo_organizer.py "C:\Meine Fotos" "D:\Organisierte Fotos" --executepython photo_organizer.py "C:\Meine Fotos" "D:\Organisierte Fotos" --execute --move2024/
2024-11/
2024-11-22_143045_IMG1234.jpg
2024-11-22_150312_IMG1235.jpg
2024-12/
2024-12-01_120000_IMG1236.jpg
2024/
2024-11-22_143045_IMG1234.jpg
2024-11-22_150312_IMG1235.jpg
2024-12-01_120000_IMG1236.jpg
2024/
2024-11/
2024-11-22/
2024-11-22_143045_IMG1234.jpg
2024-11-22_150312_IMG1235.jpg
2024-11-23/
2024-11-23_100000_IMG1236.jpg
Struktur ändern mit --structure:
python photo_organizer.py "C:\Meine Fotos" "D:\Organisierte Fotos" --structure year_only --execute- JPG/JPEG - Standard Fotos
- PNG - Screenshots, Grafiken
- HEIC/HEIF - iPhone Fotos (neuere Modelle)
- RAW-Formate - CR2 (Canon), NEF (Nikon), ARW (Sony), DNG
- TIFF/TIF - Professionelle Fotos
- GIF/BMP/WEBP - Weitere Formate
- MP4/M4V - Standard Videos
- MOV - Apple/QuickTime Videos
- AVI/WMV - Windows Videos
- MKV - Matroska Videos
- MPG/MPEG - MPEG Videos
- 3GP - Smartphone Videos
- MTS/M2TS - AVCHD Videos (Camcorder)
- XCF - GIMP Projekte
- PSD - Photoshop Dateien
- AI/SVG - Vektorgrafiken
- PDF - Dokumente
- DOC/DOCX, XLS/XLSX - Office Dokumente
- TXT - Textdateien
- Backup erstellen - Sichere deine Fotos vorher!
- Dry-Run testen - Ohne
--executeParameter - Erst kopieren - Standard ohne
--move - Ergebnis prüfen - Kontrolliere das Zielverzeichnis
- Original löschen - Erst wenn alles ok ist
- Das Script überschreibt keine Dateien
- Bereits verarbeitete Dateien (ISO-Format) werden automatisch übersprungen
- Bei Namenskonflikten wird eine Nummer angehängt (nur bei unterschiedlicher Dateigröße)
- Ohne EXIF-Daten wird das Datei-Änderungsdatum verwendet
- Original-Dateinamen bleiben teilweise erhalten
Das Tool priorisiert Datumsquellen in folgender Reihenfolge:
Erkennt automatisch Datumsmuster im Dateinamen:
IMG_20200405_1234.jpg→ 2020-04-05VID-2019-12-25.mp4→ 2019-12-2520200405_foto.jpg→ 2020-04-0505-04-2020_scan.pdf→ 2020-04-05
Liest Aufnahmedatum aus Foto-Metadaten:
- DateTimeOriginal
- DateTime
Nutzt ffprobe um Metadaten auszulesen:
- creation_time
- date
Als letzter Ausweg wird das Datei-Änderungsdatum verwendet.
Das Tool ist intelligent genug, um wiederholte Ausführungen zu handhaben:
- Bereits verarbeitet: Dateien mit ISO-Format (
YYYY-MM-DD_HHMMSS_...) werden übersprungen - Identische Datei: Wird übersprungen (gleicher Name + gleiche Dateigröße)
- Namenskonflikt: Erhält Suffix
_1,_2, etc. (nur bei unterschiedlicher Größe) - Warnung: Bei überlappenden Quell-/Zielverzeichnissen
Organisiere Fotos und kopiere sie direkt in dein Nextcloud-Verzeichnis:
python photo_organizer.py "C:\Users\Name\Pictures" "C:\Users\Name\Nextcloud\Fotos" --executeWenn Smartphone als Laufwerk verbunden:
python photo_organizer.py "E:\DCIM\Camera" "D:\Meine Fotos\2024" --executeDu kannst das Script mehrmals ausführen:
python photo_organizer.py "C:\Alte Fotos\Urlaub" "D:\Organisiert" --execute
python photo_organizer.py "C:\Alte Fotos\Familie" "D:\Organisiert" --execute
python photo_organizer.py "C:\Downloads" "D:\Organisiert" --executepip install PillowDas Script verwendet dann das Datei-Änderungsdatum als Fallback.
Lösung 1: Benenne die Datei mit dem richtigen Datum um:
IMG_20200405_foto.jpg
Das Tool erkennt das Datum automatisch aus dem Dateinamen!
Lösung 2: Überprüfe die EXIF-Daten deiner Fotos. Manche bearbeiteten Fotos verlieren die Original-Metadaten.
Für HEIC-Support unter Windows:
pip install pillow-heifAlle Optionen anzeigen:
python photo_organizer.py --help- 📱 Smartphones: Schalte "EXIF-Daten speichern" in der Kamera-App ein
- 🖼️ Bearbeitung: Nutze Software, die EXIF-Daten erhält (z.B. Luminar Neo)
- 💾 Backup: 3-2-1 Regel: 3 Kopien, 2 verschiedene Medien, 1 extern
- 🔄 Regelmäßig: Führe das Script monatlich aus für neue Fotos
Nach der Organisation kannst du die Fotos einfach in PhotoPrism importieren:
- Fotos in den PhotoPrism-Originals-Ordner kopieren
- In PhotoPrism: Settings → Library → Index
- PhotoPrism erkennt die Ordnerstruktur automatisch
Die ISO-Datumsnamen helfen PhotoPrism bei der chronologischen Sortierung!
MIT License - Copyright (c) 2024 Baum64
Pull Requests und Issues sind willkommen!
- ✨ Intelligente Datumserkennung aus Dateinamen
- ✨ Unterstützung für Videos und andere Dateitypen
- ✨ Video-Metadaten via ffprobe
- ✨ Duplikat-Vermeidung bei wiederholter Ausführung
- ✨ Warnung bei überlappenden Verzeichnissen
- ✨ EXIF-Daten Extraktion für Fotos
- ✨ Flexible Ordnerstrukturen
- ✨ Dry-Run Modus