Das kann so aus mehreren Gründen noch nicht funktionieren:
Das ist schonmal eine passende der möglichen Varianten, um deine gesuchten Dateinamen durchzugehen.
Da hapert es aber noch an mehreren Stellen:rohodeb hat geschrieben:10.05.2022 16:13:05Code: Alles auswählen
exiftool -P -"$i"'<DateTimeOriginal' -d PIC_%Y%m%d_%Hh%Mm%Ss$Titel.%%e ./*
Um eine Datei mit exiftool umzubenennen, muss man anscheinend in das Pseudo-EXIF-Tag FileName schreiben. An der Stelle hat aber der Dateiname der Quelldatei, $i, nichts zu suchen. Das war eigentlich in deinem Eingangsbeitrag schon richtig:
Code: Alles auswählen
'-FileName<DateTimeOriginal'
Als Best Practice, um jegliche mal denkbaren Probleme hiermit auszuschließen (Leerzeichen in $Titel), würde ich diesen String in "…" verpacken:
Code: Alles auswählen
"PIC_%Y%m%d_%Hh%Mm%Ss$Titel.%%e"
Diese nicht weiter beschränkte Wildcard torpediert schließlich das, was du eigentlich vorhast und macht die Schleife irrelevant. Du übergibst exiftool nämlich hier wieder – und das bei jedem Aufruf in der Schleife - die Namen aller Dateien und Unterordner im aktuellen Ordner. Der Aufruf sieht also letzendlich so aus (mehr Leerzeichen für Lesbarkeit):
Code: Alles auswählen
exiftool … DSCF0001.JPG DSCF0042.JPG PIC_19700101_00h00m00s_Unix-Epoche.JPG PIC_19700101_00h42m13s_Unix-Epoche.JPG Unterordner_1
Dafür brauchst du hier überhaupt keine Schleife. Man kann exiftool auch statt eines Ordners, den es durchgehen soll, eine Liste mit Dateien übergeben. Und das geht mit dem Dateinamensmuster in der Shell auch trivial:
Code: Alles auswählen
irgendein_kommando --ein --paar --optionen DSCF*.JPG
Die einzelnen Teile zusammenzusetzen überlass ich mal dir zur Übung Es wird, wie hikaru schon angedeutet hat, wohl nur eine Zeile.