• Herzlich willkommen im "neuen" DSLR-Forum!

    Wir hoffen, dass Euch das neue Design und die neuen Features gefallen und Ihr Euch schnell zurechtfindet.
    Wir werden wohl alle etwas Zeit brauchen, um uns in die neue Umgebung einzuleben. Auch für uns ist das alles neu.

    Euer DSLR-Forum-Team

  • In eigener Sache!

    Liebe Mitglieder, liebe Besucher und Gäste
    ich weiß, es ist ein leidiges Thema, aber ich muss es ansprechen: Werbung, Werbeblocker und Finanzierung des Forums.
    Bitte hier weiterlesen ...

  • DSLR-Forum Fotowettbewerb neu erfunden!
    Nach wochenlanger intensiver Arbeit an der Erneuerung des Formates unseres internen Fotowettbewerbes ist es Frosty als Moderator
    und au lait als Programmierer gelungen, unseren Wettbewerb auf ein völlig neues Level zu heben!
    Lest hier alle Infos zum DSLR-Forum Fotowettbewerb 2.0
    Einen voll funktionsfähigen Demowettbewerb kannst du dir hier ansehen.
  • Neuer Partner: AkkuShop.de
    Akkus, Ladegeräte und mehr (nicht nur) für Digitalkameras und Drohnen
  • Neuer Gutscheincode unseres Partners Schutzfolien24:
    DSLR-Forum2024
    Dauerhaft 10% Rabatt auf alle Displayschutzfolien der Eigenmarken "Upscreen", "Brotec", "Savvies".
    Der Code ist für alle Geräteklassen gültig.
  • Stimmt ab über die Sieger des DSLR-Forum Fotowettbewerbs März 2024.
    Thema: "Arbeitsmittel"

    Nur noch bis zum 31.03.2024 23:59!
    Jeder darf abstimmen!
    Zur Abstimmung und Bewertung hier lang
  • Frohe Ostern!

    Wir wünschen allen DSLR-Forum Nutzern, ihren Familien und Freunden sowie unseren Sponsoren und Partnern und deren Familien und Freunden ein frohes Osterfest.

    Euer DSLR-Forum Team!
WERBUNG

mit Exiftool protokollieren

jtf

Themenersteller
Hallo.
Ich habe eingescante Dia, von denen ich einige drehen, spiegeln, umbenennen usw. will. Das will ich aber alles protokollieren, so dass später noch erkennbar ist, wo und wie herum ein Dia ursprünglich im Magazin lag.

Ich habe jetzt nur den Ansatz, über eine Batch-Datei die Exif-Informationen 1. zu setzen (die Scans haben ja keine Orientierungsdaten), das zu protokollieren, dann zu drehen, spiegeln usw. und dann wieder protokollieren.
Das klappt bislang aber nur, wenn ich 2 Dateien anlege. Also vorher mit:
Code:
exiftool -T -r -filename -orientation ...  %* > %*_%DATUM_A%_A.csv
(das Datum ist das aktuelle Datum und Uhrzeit)

Dann drehe ich und mache wieder
Code:
exiftool -T -r -filename -orientation ...  %* > %*_%DATUM_A%_B.csv

Ich würde die Protokollierung gerne auf eine Datei beschränken und alle Veränderungen an die Datei anfügen. Zumal wenn ich öfters drehen muss und jedesmal 2 Dateien angelegt werden. Doch bislang kann ich die Datei mit dem genannten Befehl nur überschreiben (daher die Uhrzeit in meiner Lösung, so dass es eine Unterscheidung gibt).

Wie kann ich also exiftool dazu bekommen, die csv oder txt zu ergänzen, statt jedesmal neu anzulegen.
Alternativ:
Wie kann ich den genannten exiftool-Befehl auf Batch-Ebene in eine Datei umleiten? Einfach schreiben
Code:
>> text.txt
geht nicht.

Danke
 
Hallo.

Wie kann ich also exiftool dazu bekommen, die csv oder txt zu ergänzen, statt jedesmal neu anzulegen.
Alternativ:
Wie kann ich den genannten exiftool-Befehl auf Batch-Ebene in eine Datei umleiten? Einfach schreiben
Code:
>> text.txt
geht nicht.

Danke


Code:
echo vorher > text.txt

erzeugt die Datei text.txt,

Code:
echo nachher >> text.txt

hängt an die Datei text.txt an.

Das funktioniert bei Windows (*.bat), Linux, Unix, MAC-OSX shells nach der gleichen Syntax.
 
Hallo.
Danke, das mit dem Anhängen an eine Datei klappt. Nur leider schreibt er mir den Befehl in die Datei rein, und nicht die Werte. Ich möchte ja die Exif-Werte protokollieren, und nicht den dazugehörigen Befehl.

Muss ich wohl versuchen die Werte aus dem Exiftool-Befehl in Variabeln zu packen und die dann als Datei schreiben?
 
Hallo. Danke dass Ihr Euch Gedanken dazu macht.
Die Lösung ist wohl so:
Code:
exiftool -T -r -filename -orientation %* >> %*_prot.txt

Also ohne echo davor. Die Ausgabedatei von Exiftool, die noch im ersten Ansatz stand, wird gelöscht und stattdessen die umleitung auf die TXT-geschrieben.

Die Langform:
Ich arbeite mit Windows 10 und dem Programm ThumbsPlus (besonders weil Thumbs sehr gut mit MS Access zusammenarbeitet, wodurch sich weitere Möglichkeiten ergeben, Probleme zu lösen )
In Thumbs markiere ich eine Datei, die ich drehen oder spiegeln will. Der Dateiname wird an die Batch mit %* übergeben.

Code:
exiftool -T -r -filename -orientation %* >> %*_prot.txt
(tatsächlich schreibe ich noch weitere Infos in die Datei)

Dann drehe ich. In der Batch wähle ich zuerst aus, wie ich drehen/spiegeln will (Zahl 1-8 entsprechend der Exif-Möglichkeiten)
Code:
set /p asw="Bitte Auswahl eingeben: "
exiftool -overwrite_original -n -orientation=%asw% %* -r

Danach protolliere ich erneut und fertig:
Code:
exiftool -T -r -filename -orientation %* >> %*_prot.txt

Das dauert zwar sehr lange, bis Exiftools das alles umsetzt, aber das liegt wohl eher am lahmen Rechner oder Windows.
ThumbsPlus hätte auch interne Befehle zum spiegeln usw., die schneller laufen, aber da weiß ich nicht wie ich die protokollieren kann (ohne in Access was zu basteln, was dann auch wieder in der Ausführung lange dauern könnte).

Aber diese Lösung reicht mir ersteinmal. Was noch nicht klappt ist, das in einer Schleife für mehrere markierte Dateien laufen zu lassen. Aber ds müsste hinzukriegen sein. DANKE!
 
Hallo nochmals. Das mit der Schleife stellte sich doch noch als Problem dar. Falls hier ein Schleifenspezi ist:
Mein Code wird mehrfach auf eine Datei angewendet, je nachdem, wieviel Dateien ich an die Batch übergebe. Und ich weiß nicht, wo ich die Schleife abbrechen soll, ohne auf die Funktionen danach zu verzichten.
Ich mache folgendes:
1. Da die Datei von Thumbs mit vollem Pfad und Anführungsstrichen übergeben wird, zerfleddere ich das ersteinmal:

Code:
Setlocal EnableDelayedExpansion
for %%i in (%*) do (
set bild_alles=%%i
set bild_name=%%~ni
set bild_ende=%%~xi
set bild_laufwerk=%%~di
set bild_pfad=%%~pi

set "protname=%%~nxi"
set protname2="!protname:.=_!_prot.txt"
(ich ersetze noch den Punkt im Dateinamen für den Protokollnamen durch einen Unterstrich)

Dann muss ich prüfen, ob es die Datei schon gibt:

Code:
IF EXIST !protname2! (
  ECHO !protname2! ist vorhanden
) ELSE (
  ECHO !protname2! existiert nicht, wird erzeugt
  copy /y nul !protname2!
)
Jetzt kommen die Befehle wie gehabt:
Code:
set /p asw="Bitte Auswahl eingeben: "

exiftool -T -r -filename -orientation  %* >> !protname2!
exiftool -overwrite_original -n -orientation=%asw% %* -r
exiftool -T -r -filename -orientation  %* >> !protname2!
)
)

Ergebnis: Die Werte werden (bei zwei markierten Bilddateien) doppelt (bzw. 4x da ich ja 2x protokolliere) in die Protokolldatei eingetragen. Auch in der DOS-Ausgabe wird gezeigt, dass der Befehl auf jedes Bild jeweils doppelt ausgeführt wird ("2 image files updated").

Wenn ich die Klammer der Schleife früher setze, wird nur 1 Bild protokolliert.
Wo ist der Fehler?
 
Mein Code wird mehrfach auf eine Datei angewendet, je nachdem, wieviel Dateien ich an die Batch übergebe. Und ich weiß nicht, wo ich die Schleife abbrechen soll, ohne auf die Funktionen danach zu verzichten.
Ich mache folgendes:
1. Da die Datei von Thumbs mit vollem Pfad und Anführungsstrichen übergeben wird, zerfleddere ich das ersteinmal:

Code:
...
exiftool -T -r -filename -orientation  %* >> !protname2!
exiftool -overwrite_original -n -orientation=%asw% %* -r
exiftool -T -r -filename -orientation  %* >> !protname2!
)
)

Ergebnis: Die Werte werden (bei zwei markierten Bilddateien) doppelt (bzw. 4x da ich ja 2x protokolliere) in die Protokolldatei eingetragen. Auch in der DOS-Ausgabe wird gezeigt, dass der Befehl auf jedes Bild jeweils doppelt ausgeführt wird ("2 image files updated").

Wenn ich die Klammer der Schleife früher setze, wird nur 1 Bild protokolliert.
Wo ist der Fehler?


Die Schleifenvariable ist %%i, also sollte m.E. der Aufruf von exiftool in der Scheife so aussehen:

Code:
exiftool -T -r -filename -orientation  %%i >> !protname2!
exiftool -overwrite_original -n -orientation=%asw% %%i -r
exiftool -T -r -filename -orientation  %%i >> !protname2!

Die letzte *Klammer-zu* ist auch zu viel.
 
Zuletzt bearbeitet:
WERBUNG
Zurück
Oben Unten