Terminal Befehle zu AppleScript

mib2000

mib2000

Aktives Mitglied
Thread Starter
Dabei seit
14.10.2004
Beiträge
1.230
Reaktionspunkte
113
Hallo

Ich habe bei mir eine App im Einsatz die man über Terminal ausführen kann und nun suche ich eine Möglichkeit, wie ich meine beiden Terminal-Commands in ein AppleScript verpacken kann, damit ich dieses dann zeitgesteuert ausführen kann.

Hier meine beiden Terminal-Commands:

cd /users/steve/Documents/java/itunesexport

und anschliessend

java -jar -mx1024m itunesexport.jar -outputDir=playlists/ -musicPath="/volume1" -musicPathOld="/Volumes/steve 1"

Lassen sich diese beiden Commands nun irgendwie in ein AppleScript verpacken, damit ich anschliessend das Script einfach per Klick ausführen kann?

Vielen herzlichen Dank für die Hilfe

Gruss
 
Codevorschlag mit Anführungszeichen-Probleme

also: theoretisch ist es möglich, mir bereitet es nur etwas Probleme mit dem zweiten Befehl, da der bereits Anführungszeichen enthält und sich Apple Script somit weigert dass das auszuführen. Habs grad eben mal mit nem Apostroph probiert da kommt: "Es wurde „Zeilenende, etc.“ erwartet, aber ein „Unbekanntes Token“ wurde gefunden."
und wenn ich die Anführungszeichen einfach raushau dann kommt: "Die Variable „volume1“ ist nicht definiert." Vielleicht kann da ein erfahrener Apple Scripter ma was dazu sagen..

Nun mal der Code mit dem es - wenn das mit den Anführungszeichen geklärt ist - gehen sollte.

Code:
tell application "Terminal"
	activate
end tell
tell application "System Events"
	keystroke "cd /users/steve/Documents/java/itunesexport"
	keystroke return
	keystroke "java -jar -mx1024m itunesexport.jar -outputDir=playlists/ -musicPath="/volume1" -musicPathOld="/Volumes/steve 1""
	keystroke return
        delay 15
	key down {command}
        keystroke "q"
        key up {command}
end tell
Is eigentlich einfach: sag ihm: Terminal öffnen und 1.Befehl eingeben, Return, 2. Befehl dannn wieder Return und dann Terminal schliesen per cmd+q nach 15 secs. Das kannste bei delay x.x ändern oder du haust das ab delay bis key up raus.
 
Ganz genau, mit diesen Anführungs-/Schlusszeichen kämpfe ich auch und ich habe bis jetzt auch keine Lösung gefunden.

Vielen Dank auf jeden Fall schon mal für den input.

Gruss
 
Ich habe die Lösung glaube ich gefunden.

tell application "Terminal"
activate
end tell
tell application "System Events"
keystroke "cd /users/steve/Documents/java/itunesexport"
keystroke return
keystroke "java -jar -mx1024m itunesexport.jar -outputDir=playlists/ -musicPath=\"/volume1\" -musicPathOld=\"/Volumes/Steve 1\""
keystroke return
delay 10
key down {command}
keystroke "q"
key up {command}
end tell

Oder sieht ein AppleScript-Guru hier noch Verbesserungsmöglichkeiten?

Besten Dank

Gruss
 
Die Standardprozedur für den Einsatz von Terminal- oder Unixbefehlen in AppleScript ist
do shell script
Beispiel:
PHP:
do shell script "cd /users/steve/Documents/java/itunesexport"
(das zweite Kommando natürlich analog)
Das hat vor allem den Vorteil, daß Du die eventuellen Ergebnisse eines Shellkommandos so in eine AppleScript-Variable einlesen und weiterverarbeiten kannst.
Mehr Info hier: http://developer.apple.com/library/...s.html#//apple_ref/doc/uid/TP40001568-1148121

Good scripting
Farid
 
also du kannst das einfach so machen:
Code:
do shell script "java -jar -mx1024m /Users/steve/Documents/java/itunesexport/itunesexport.jar -outputDir=playlists/ -musicPath='/volume1' -musicPathOld='/Volumes/steve 1' "
 
ok, zu viel Code bei mir... :D Bin eben Anfänger in AppleScript.
 
Zurück
Oben Unten