Aktuelle Zeit: Mo 29. Apr 2024, 07:57

Alle Zeiten sind UTC + 1 Stunde




Ein neues Thema erstellen Auf das Thema antworten  [ 9 Beiträge ] 
Autor Nachricht
BeitragVerfasst: So 6. Dez 2015, 15:30 
Offline

Registriert: Sa 11. Okt 2014, 18:07
Beiträge: 268
Wohnort: Nähe Double-D Town
Hallo,

Ich möchte mir ein "kleines" Windows-Batch-Script bauen/schreiben, was unter Verwendung von exiftool die Objektivinformationen anpasst und die Bilder schließlich auf mein NAS kopiert.

folgenden Aufgaben müssen via Exiftool realisiert werden:
1. kopieren der Information von "makernotes:LensType" nach "XMP:Lens" damit mit Photo-Web-Applikation auf dem NAS die Objektivdaten auch korrekt anzeigt.
dieser Teil funktioniert
2. Falls im "Exif:LensModel" "Sigma AF 10-20mm F4-5.6 EX DC or Sigma 12-24mm F4.5-5.6 EX DG" steht, soll das durch "Sigma AF 10-20mm F4-5.6 EX DC" ersetzt werden. Das gilt auch noch weiter weitere Felder in denen die gleiche Information vorhanden ist. Wenn etwas anderes in dem Feld steht (z.B. Tamron...) dann soll das ignoriert werden...

Hier scheiter ich leider an der Syntax.

Ich möchte das alles in einem Script haben. Mir ist auch bewusst, dass 2. vor 1. im Script abgearbeitet werden muss.

Syntax 1.: -->funktioniert, notfalls sogar mit einem UNC-Pfad.
Code:
exiftool.exe "-overwrite_original" "-exif:LensModel<makernotes:LensType" "-XMP:Lens<makernotes:LensType" "I:\DCIM\105_2803\*.JPG"


Syntax 2.: --> hier scheiter ich leider
Code:
exiftool.exe "-overwrite_original" “–if” "-exif:LensModel=Sigma AF 10-20mm F4-5.6 EX DC or Sigma 12-24mm F4.5-5.6 EX DG" "-exif:LensModel=Sigma AF 10-20mm F4-5.6 EX DC" "-exif:LensModel<composite:LensID" "-XMP:Lens<composite:LensID" “-makernotes:LensType<composite:LensID” "I:\DCIM\105_2803\Copy.JPG"


Ich habe schon an verschiedenen stellen modifiziert und google befragt, aber ich komme nicht weiter...

Kann mir jemand helfen oder hat hat Lösungsansätze?

_________________
Pentax K-70;
Pentax K-500 mit defekter Blendensteuerung;
SMC Pentax DA L 18-55mm 1:3,5-5,6;
SMC Pentax DA 18-135mm 1:3,5-5,6 ED AL (IF) DC WR;
SMC Pentax DA 50mm 1:1,8;
Tamron AF70-300mm F/4-5,6 Di LD Macro
Sigma 10-20mm 1:4-5,6 EX DC HSM


Nach oben
 Profil  
Mit Zitat antworten  
BeitragVerfasst: Do 10. Dez 2015, 22:39 
Offline
Benutzeravatar

Registriert: Sa 4. Jul 2015, 08:58
Beiträge: 2066
Exiftool exe? Batchdatei heisst .bat
Also, mit was programmierst Du?

Die Programmierung sieht mir sehr nach copy&paste aus.... Sorry.
Weil sicherlich OR nicht in die Expression reinkommt.

Code:
if "blablablubb" or "blubbblabla"

Dann sollte man auch sagen was das Programm tun soll
Code:
replace, rename oder regexp


Vielleicht kommst Du damit weiter ;)


Nach oben
 Profil  
Mit Zitat antworten  
BeitragVerfasst: Do 10. Dez 2015, 23:44 
Offline
Benutzeravatar

Registriert: Sa 1. Aug 2015, 20:33
Beiträge: 347
Naja. Er nutzt halt das exiftool und ruft es einfach per Script (batch Datei) auf....
Kleiner tip, du kannst auch in batch if else Usw verwenden und dir das in einem "string" speichern und dann als Parameter an das exiftool übergeben.

Ansonsten prüfe mal mittels eq, also eqal anstatt = und glaub die Strings werden auch anders angegeben.

Hilft eigentlich nur die Doku vom exiftool ;-) (exiftool forum ist auch eine gute Anlaufstelle)

Ich hab gerade keinen Rechner in der Nähe und auf dem Handy schaut es sich blöd in der Doku. Geht aber ganz bestimmt was du vor hast und das mit paar Zeilen halt als Script.....

Wenn bis morgen nix hast und ich abends Zeit finde, schaue ich mal schnell.

Wie gesagt als erster tip, schau dir den if Aufruf (-if) vom exiftool an, im Zusammenhang mit or. Und prüfe mittels eq (also eqal)....
(in der Doku sollte alles stehen oder sonst exiftool forum Googlen)

Gesendet von meinem C6903 mit Tapatalk


Nach oben
 Profil  
Mit Zitat antworten  
BeitragVerfasst: Fr 11. Dez 2015, 00:19 
Offline

Registriert: Fr 24. Jan 2014, 13:01
Beiträge: 1054
Wohnort: Velbert
Mhmm, ich bin jetzt nich der große Programmierer, aber ich fürchte da wird ein Problem auf Dich zukommen; nämlich die mehrfache vergebene Lens-ID bei den Sigmas und Tamrons. Das ist nämlich der Grund warum da ein OR drinsteht.
Vielleicht wäre es der einfachere Weg im Exiftool das zweite, der gleichen ID zugeordnete Objektiv, zu löschen. Ob das in der Datenbank möglich ist? Das können sicher Leute sagen welche in der Informatik weiter bewandert sind als ich.

Das Copy aufs NAS mache ich recht simpel, SD-Karte in den Kartenleser am NAS und warten bis es aufhört zu blinken.
Danach stehen mir die Bilder fürs Bearbeiten auf dem NAS zur Verfügung. (Bin ja faul, so brauche ich nicht immer herummachen wenn ich grade an einem anderen Rechnen bin und ein paar Bilder brauche)

Just my 2 cents

_________________
Gruß,
lonee

Diverses Pentax "Geraffel".


Nach oben
 Profil  
Mit Zitat antworten  
BeitragVerfasst: Fr 11. Dez 2015, 00:47 
Offline
Benutzeravatar

Registriert: Do 24. Jul 2014, 08:40
Beiträge: 2191
Hallo,

Ich kenn mich mit ExifTool im Detail nicht aus, aber das "OR" muesste man in diesem Fall doch einfach realisiert bekommen, indem man das Tool 2x aufruft, oder?
A la:
- Ersetze TagA durch TagB in FileA
- Ersetze TabA* durch TagB in FileA

Exiv2 gibt es auch (z.B. via http://www.heise.de/download/exiv2-1155395.html). Da ist wohl auch ein Executable dabei, das Aehnliches kann wie das ExifTool.

Falls "richtiges" Programmieren auch ok ist, neben exiftool (das auf der libexif c-Bibliothek basiert: http://libexif.sourceforge.net/) gibt es eben auch oben genannte Exiv2-Bibliothek.
Als Bibliothek ist es (meiner Meinung nach) besser verwendbar als libexif, da modularer (C++).

_________________
------------------------
... ick hör dir trapsen.


Nach oben
 Profil  
Mit Zitat antworten  
BeitragVerfasst: Fr 11. Dez 2015, 06:43 
Offline
Benutzeravatar

Registriert: Sa 4. Jul 2015, 08:58
Beiträge: 2066
:klatsch: Jetzt blicke ich durch..
Dann vergiss was ich geschrieben habe, ich ging von einem selbstgeschriebenen Programm aus...


Nach oben
 Profil  
Mit Zitat antworten  
BeitragVerfasst: Fr 11. Dez 2015, 20:54 
Offline

Registriert: Fr 23. Mai 2014, 06:51
Beiträge: 1961
Deepflights hat geschrieben:
:klatsch: Jetzt blicke ich durch..
Ja, ja, aber erstmal motzen! :d&w:

Gruß
Jörn

_________________
Du hast die Freiheit, alles zu schreiben. Ich habe die Freiheit, alles zu ignorieren. (Stephan Lange)

Weil die Lichtgeschwindigkeit höher als die Schallgeschwindigkeit ist, hält man viele Leute für helle Köpfe - bis man sie reden hört. (Unbekannt)


Nach oben
 Profil  
Mit Zitat antworten  
BeitragVerfasst: So 13. Dez 2015, 12:07 
Offline

Registriert: Sa 11. Okt 2014, 18:07
Beiträge: 268
Wohnort: Nähe Double-D Town
Hallo & Danke schon mal für eure Anregungen.

Robby hat geschrieben:
Naja. Er nutzt halt das exiftool und ruft es einfach per Script (batch Datei) auf....
Kleiner tip, du kannst auch in batch if else Usw verwenden und dir das in einem "string" speichern und dann als Parameter an das exiftool übergeben.

Ansonsten prüfe mal mittels eq, also eqal anstatt = und glaub die Strings werden auch anders angegeben.

Hilft eigentlich nur die Doku vom exiftool ;-) (exiftool forum ist auch eine gute Anlaufstelle)

Ich hab gerade keinen Rechner in der Nähe und auf dem Handy schaut es sich blöd in der Doku. Geht aber ganz bestimmt was du vor hast und das mit paar Zeilen halt als Script.....

Wenn bis morgen nix hast und ich abends Zeit finde, schaue ich mal schnell.

Wie gesagt als erster tip, schau dir den if Aufruf (-if) vom exiftool an, im Zusammenhang mit or. Und prüfe mittels eq (also eqal)....
(in der Doku sollte alles stehen oder sonst exiftool forum Googlen)

Gesendet von meinem C6903 mit Tapatalk


Die Doku von Exiftoll ist u.A. das Problem. Ich finde die ist extrem bescheiden geschrieben.
Aber die Idee, die If-Abfrage in der Batch selbst zu machen ist gut...
Das "eq" werde ich prüfen..

lonee hat geschrieben:
Mhmm, ich bin jetzt nich der große Programmierer, aber ich fürchte da wird ein Problem auf Dich zukommen; nämlich die mehrfache vergebene Lens-ID bei den Sigmas und Tamrons. Das ist nämlich der Grund warum da ein OR drinsteht.
Vielleicht wäre es der einfachere Weg im Exiftool das zweite, der gleichen ID zugeordnete Objektiv, zu löschen. Ob das in der Datenbank möglich ist? Das können sicher Leute sagen welche in der Informatik weiter bewandert sind als ich.

Das Copy aufs NAS mache ich recht simpel, SD-Karte in den Kartenleser am NAS und warten bis es aufhört zu blinken.
Danach stehen mir die Bilder fürs Bearbeiten auf dem NAS zur Verfügung. (Bin ja faul, so brauche ich nicht immer herummachen wenn ich grade an einem anderen Rechnen bin und ein paar Bilder brauche)

Just my 2 cents


Das mit der mehrfach vergebenen Lens-ID etc. ist mir bewusst. Desshalb will ich das ja machen... Und da ich nur eines der beiden Objektive habe, sollte es nicht zu kompliziert werden. Interessanterweise habe ich in zwischen festgestellt, das nicht in allen Bildern mit diesem Objektiv die falsche "Objektivinfo" steht, z.T. steht nur eins/meins drin. K.A. ob das mit der gewählten Brennweite variiert, oder was auch immer.

n8igall hat geschrieben:
Hallo,

Ich kenn mich mit ExifTool im Detail nicht aus, aber das "OR" muesste man in diesem Fall doch einfach realisiert bekommen, indem man das Tool 2x aufruft, oder?
A la:
- Ersetze TagA durch TagB in FileA
- Ersetze TabA* durch TagB in FileA

Exiv2 gibt es auch (z.B. via http://www.heise.de/download/exiv2-1155395.html). Da ist wohl auch ein Executable dabei, das Aehnliches kann wie das ExifTool.

Falls "richtiges" Programmieren auch ok ist, neben exiftool (das auf der libexif c-Bibliothek basiert: http://libexif.sourceforge.net/) gibt es eben auch oben genannte Exiv2-Bibliothek.
Als Bibliothek ist es (meiner Meinung nach) besser verwendbar als libexif, da modularer (C++).


Ich bin zwar IT'ler, stehe aber mit programmieren auf Kriegsfuß... einfache Scripte wie hier traue ich mir aber zu... solange die Syntax aus der Doku vernünftig hervorgeht.

Der TIP der jetzt schon mehrfach kam, exiftool in dem Script 2x aufzurufen, ist auch eine gute Idee...muss ich mal durchspielen...

Exiv2 kannte ich noch nicht... werde ich mir mal anschauen...

Ich werde wohl heute Nachmittag/ Abend noch ein wenig herumbasteln... was sehen, was dabei noch herauskommt.

_________________
Pentax K-70;
Pentax K-500 mit defekter Blendensteuerung;
SMC Pentax DA L 18-55mm 1:3,5-5,6;
SMC Pentax DA 18-135mm 1:3,5-5,6 ED AL (IF) DC WR;
SMC Pentax DA 50mm 1:1,8;
Tamron AF70-300mm F/4-5,6 Di LD Macro
Sigma 10-20mm 1:4-5,6 EX DC HSM


Nach oben
 Profil  
Mit Zitat antworten  
BeitragVerfasst: Mi 23. Dez 2015, 19:29 
Offline

Registriert: Sa 11. Okt 2014, 18:07
Beiträge: 268
Wohnort: Nähe Double-D Town
Hallo,

ich bin mittlerweile etwas schlauer, wie ich vorgehen muss, aber der Weisheit letzter Schluss ist das immer noch nicht.

nachfolgend mein aktueller Code:

Code:
exiftool.exe "-overwrite_original" “–if” "$exif:LensModel eq 'Sigma AF 10-20mm F4-5.6 EX DC or Sigma 12-24mm F4.5-5.6 EX DG'" "-exif:LensModel=Sigma AF 10-20mm F4-5.6 EX DC HSM" "-makernotes:LensType<exif:LensModel" "-XMP:Lens<exif:LensModel" "-composite:LensID<exif:LensModel" "C:\100_2408\Copy2.JPG"


folgende Probleme habe ich noch:
- In einem Aufwasch scheint das nicht zu funktionieren, makernotes,xmp,composite werden nicht aktualisiert.
- bei "composite:LensID" erhalte ich die Fehlermeldung, dass es den TAG nicht geben würde; was ja quatsch ist, denn er kann ja ausgelesen werden.
-> mittlerweile weiß ich, dass dieser TAG read-only ist und eigentlich nur auf einen anderen TAG verweist. --> Die Frage ist nur welcher??? Und ob man den ändern kann
- makernotes:LensType lässt sich ebenfalls nicht ändern, aber ohne Fehlermeldung...
-> oder müsste ich hier eher den Rohwert ändern? von "3 44" auf "3 44.1"?

Ich hoffe es hat noch jemand ein paar Denkansätze.

_________________
Pentax K-70;
Pentax K-500 mit defekter Blendensteuerung;
SMC Pentax DA L 18-55mm 1:3,5-5,6;
SMC Pentax DA 18-135mm 1:3,5-5,6 ED AL (IF) DC WR;
SMC Pentax DA 50mm 1:1,8;
Tamron AF70-300mm F/4-5,6 Di LD Macro
Sigma 10-20mm 1:4-5,6 EX DC HSM


Nach oben
 Profil  
Mit Zitat antworten  
Beiträge der letzten Zeit anzeigen:  Sortiere nach  
Ein neues Thema erstellen Auf das Thema antworten  [ 9 Beiträge ] 

Alle Zeiten sind UTC + 1 Stunde


Wer ist online?

0 Mitglieder


Ähnliche Beiträge

Exiftool 10.20 - shuttercount auslesen - gelöst
Forum: Bildbearbeitung
Autor: mika-p
Antworten: 17
exiftool 10.01 wird zwei neue Pentax Infos kennen
Forum: Bildbearbeitung
Autor: Anonymous
Antworten: 2
Cactus System seit heute mit P-TTL-Unterstützung
Forum: Zubehör
Autor: klaus123
Antworten: 43

Du darfst keine neuen Themen in diesem Forum erstellen.
Du darfst keine Antworten zu Themen in diesem Forum erstellen.
Du darfst deine Beiträge in diesem Forum nicht ändern.
Du darfst deine Beiträge in diesem Forum nicht löschen.

Suche nach:
cron
Powered by phpBB® Forum Software © phpBB Group


Hosted by iphpbb3.com

Impressum | Datenschutz