Parameterübergabe an ext. Programm (ExifTool)

  • Hallo zusammen

    Ich hätte da wieder mal ein Problem, wo Ihr mir sicher helfen könnt.
    Es geht drum, Koordinaten in ein jpg-Bild zu schreiben. Das geht mit "ExifTool".
    Die Befehlszeile lautet:
    "c:\Program Files\ExifTools\exiftool.exe" -gpsposition="50.12345, 10.98765" "e:\aaa\123 a.jpg" (z.B. in der Eingabeaufforderung)
    und funktioniert auch so.

    Nun zu Autoit:
    ich wähle $file = FileOpenDialog ... und
    starte OpenStreetMap - Shellexecute("https://www.openstreetmap.org")
    klicke mit rechts auf einen Punkt, wähle "Adresse anzeigen" ,
    kopiere die Koordinaten aus dem Suchfenster (links oben)
    und hab sie dann in - $Coords = ClipGet() - so weit so gut.

    Aber:
    ShellExecute("c:\Program Files\ExifTools\exiftool.exe", " -gpsposition=" & $Coords & " " & $file)
    und diverse Variationen funktionieren nicht (richtig). Ich hatte beispielsweise mal nur den Breitengrad eingetragen - und den falsch.

    Würdet Ihr mir sagen, wie es richtig ist?

    SG, entsel

    Schöne Grüße,
    entsel
    AutoLisp(eln) geht ganz gut, aber AutoIt nur mit Dictionary. 
    Das Problem - man sollte wissen, welche Vokabel man sucht.

  • Hi entsel 👋 ,

    dies ist eine Variante wie es funktionieren sollte (erfolgreich lokal getestet bei mir).

    Ich hoffe das hilft dir 🤝 . (Kommentare beachten)

    Viele Grüße
    Sven

  • Danke Dir, funkioniert auch bei mir.

    Vielleicht noch eine Zusatzfrage?
    Ich starte Browser/OpenStreetMap mit:
    ShellExecuteWait("https://www.openstreetmap.org")
    Aus der Hilfe zu ShellExecuteWait:
    "Nach dem Starten des angegebenen Programms pausiert das Skript, bis das gestartete Programm beendet wurde."
    Bei mir läuft das Script aber durch? Eine Idee?

    Ist aber nicht wichtig - ich hab das Script mit einer MsgBox gestoppt. Das ermöglicht mir das Kopieren der Koordinaten.

    Schöne Grüße,
    entsel
    AutoLisp(eln) geht ganz gut, aber AutoIt nur mit Dictionary. 
    Das Problem - man sollte wissen, welche Vokabel man sucht.

  • ich würde sagen, https://www.openstreetmap.org ist keine Anwendung die man als Prozess überwachen kann.

    Ruf einfach deine Anwendung (Browser) auf und übergib die URL als Parameter ;)


    Nach einem Test muss ich feststellen, dass die aktuellen Browser da wohl unanständig sich selbst neu starten, um Ihre PID zu wechseln.

    Da hat ShellExecuteWait direkt keine Chance, da die PID mit Aufruf auch schon wieder gekillt wird und sich der Braowser erneut mit einer anderen PID startet.

    Da wird die Überwachung etwas aufwendiger...


    Bei mir macht der Firefox da gleich mal 10 Prozesse auf, wenn man ihn mit einer URL startet. Lächerlich

    Mit folgendem Script kannst du relativ "stumpf" exklusiv deinen Broser nutzen und das Script wartet bis der Browser wieder geschlossen wurde.

    Klappt bei mir nur Semi gut, da manchmal nicht alle Prozesse von Firefox beendet werden.

    MfG Schnuffel

    "Sarkasmus ist die niedrigste Form des Witzes, aber die höchste Form der Intelligenz."
    Val McDermid

    über mich...

    ich habe meine Erfahrungen hauptsächlich gesammelt in (grobe Übersicht):

    - RibbonBar Automation
    - MySQL Nutzung
    - GUIs in vielerlei Ausprägung
    - Nutzung von Powershell / Batch in AutoIt
    - Windows Automatisierung

    außerhalb von AutoIt:

    - Sprachen: PS, Batch, php, html(5), javascript, (perl eingeschränkt), vbs
    - Powershell (AD, WPF inkl. Multi-Threading, ...)
    - Deployment-Automatisierung ohne SCCM
    - Office-Nutzung mit COM-Object (AutoIt, PowerShell)
    - ActiveDirectory und alles was damit zusammenhängt
    - Hyper-V Clustering (Converged / Hyper Converged)
    - Serverhardware (Konfiguration, Aufbau, Architektur, Betrieb)

    Lieblingsthema:

    günstige Automatisierung von Vorgängen, für die andere Firmen viel Geld nehmen

    more to come ...

    2 Mal editiert, zuletzt von Schnuffel (12. August 2025 um 13:00)

  • Danke auch Dir - gut zu wissen, dass das "normal" ist - wieder was gelernt.

    Und wie gesagt, ich hab nach dem Browserstart einfach eine MsgBox gesetzt, die wartet aufs [OK] ...

    Schöne Grüße,
    entsel
    AutoLisp(eln) geht ganz gut, aber AutoIt nur mit Dictionary. 
    Das Problem - man sollte wissen, welche Vokabel man sucht.

  • entsel 13. August 2025 um 08:15

    Hat den Titel des Themas von „Parameterübergabe an ext. Programm“ zu „Parameterübergabe an ext. Programm (ExifTool)“ geändert.