Javascript unter OSX

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • Javascript unter OSX

    Hallo,

    in Adobe Bridge CC funktioniert Scripting nur über javascript. Es gibt zwar einen Applescript-Befehl, der lautet aber auch nur "do javascript".
    Ich möchte nun Shell-Scripte lokal auf meinem Rechner in Bridge anwenden, habe aber trotz googeln nichts gefunden, wie ich aus javascript Shell- oder Applescripte starten kann. Unter Windows gibt es ein WScript-Object, aber unter Unix-Linus-OSX habe ich nichts gefunden. Javascript nutzt doch auch das Betriebssystem, da muss es doch die Möglichkeit geben, wenigstens einen Shell-Befehl abzusetzen?

    Danke und Gruß fiveyears
  • Ja genau, es geht um Scripting von Adobe Bridge. Ich bekomme die selektierten Bilder mit Javascript (und nicht mit Applescript) raus. Auch der Pfad der Bilddatei ist keine große Mühe. Jetzt möchte ich mit Appplescript, perl oder der Bash per exiftool z. B. an die Metadaten ran. Diesen einen Schritt, den bekomme ich nicht hin
  • Umweg über Temp-File

    Ich habe eine Lösung gefunden, in dem ich die Daten, die ich aus der Bridge brauche, in ein Temp-File schreibe. Dann kann ich sie weiter in AS verwenden:

    Quellcode

    1. -- Austausch-Datei
    2. property myFile : "java_tmp.txt"
    3. -- javascript - hier nur einfaches Beispiel
    4. set myScript to "aFile = new File( Folder.temp + '/" & myFile & "'); " & return & ¬
    5. "aFile.open('w'); " & return & ¬
    6. "aFile.writeln('Hier ist die Ausgabe'); " & return & ¬
    7. "aFile.close();"
    8. -- Ausführen des javascriptes
    9. tell application "Adobe Bridge CC"
    10. do javascript myScript
    11. end tell
    12. -- Lesen der Rückgabewerte
    13. set myPath to ((path to temporary items) & ":TemporaryItems:" & myFile) as string
    14. set myText to (read file myPath)
    15. try
    16. do shell script "rm '" & POSIX path of myPath & "'"
    17. end try
    18. -- hier geht es dann weiter
    19. myText
    Alles anzeigen
  • fiveyears schrieb:

    Ja genau, es geht um Scripting von Adobe Bridge. Ich bekomme die selektierten Bilder mit Javascript (und nicht mit Applescript) raus. Auch der Pfad der Bilddatei ist keine große Mühe. Jetzt möchte ich mit Appplescript, perl oder der Bash per exiftool z. B. an die Metadaten ran. Diesen einen Schritt, den bekomme ich nicht hin


    du kannst aus javascript raus aber auch problemlos applescript aufrufen. hab ich mal gemacht um unsichtbare dateien sichtabr zu machen. das ganze funktioniert mit "app.doScript()".
  • fiveyears schrieb:

    Ich habe eine Lösung gefunden, in dem ich die Daten, die ich aus der Bridge brauche, in ein Temp-File schreibe. Dann kann ich sie weiter in AS verwenden:

    Quellcode

    1. -- Austausch-Datei
    2. property myFile : "java_tmp.txt"
    3. -- javascript - hier nur einfaches Beispiel
    4. set myScript to "aFile = new File( Folder.temp + '/" & myFile & "'); " & return & ¬
    5. "aFile.open('w'); " & return & ¬
    6. "aFile.writeln('Hier ist die Ausgabe'); " & return & ¬
    7. "aFile.close();"
    8. -- Ausführen des javascriptes
    9. tell application "Adobe Bridge CC"
    10. do javascript myScript
    11. end tell
    12. -- Lesen der Rückgabewerte
    13. set myPath to ((path to temporary items) & ":TemporaryItems:" & myFile) as string
    14. set myText to (read file myPath)
    15. try
    16. do shell script "rm '" & POSIX path of myPath & "'"
    17. end try
    18. -- hier geht es dann weiter
    19. myText
    Alles anzeigen


    das ist aber genau das umgekehrte wie du beschrieben hast. du wolltest ja aus js raus ein AS aufrufen und nicht umgekehrt.