FTP Befehle via Apple Script

A

alex.plastic

Mitglied
Thread Starter
Dabei seit
30.10.2003
Beiträge
37
Reaktionspunkte
1
Hallo zusammen,

Ich möchte per Apple Script Dateien auf einem FTP Server verschieben:

Tell application "Terminal"
rename eingangsverzeichnis/datei.WAV zielverzeichnis/datei.WAV"
End Tell

Login funktioniert, nur das rename macht Probleme, wenn ich die Eingabe im Terminal (ftp> ) mache, funktioniert es ohne Probleme.

Wie bekomme ich das hin?

Grüsse,
Alexander
 
braucht applescript nicht bei pfaden ein *:* statt eines */*?
 
...die pfade bezieht der terminal immer auf die oberste systemebene.

...pack mal den entsprechenden ordner auf die ebene neben "system", "Library", "User" ....dann wird es gehen.

....oder pass den pfade entsprechend an.
 
...die pfade bezieht der terminal immer auf die oberste systemebene.

...pack mal den entsprechenden ordner auf die ebene neben "system", "Library", "User" ....dann wird es gehen.

....oder pass den pfade entsprechend an.

verstehe ich nicht ganz, der rename befehl soll auf dem ftp server ausgeführt werden und dort befinde ich mich im root verzeichnis.

Ich denke der Haken liegt darin den rename befehl an das Terminal zu übergeben nachdem das Terminal im ftp-Modus ist also ftp> anzeigt..
 
Du kannst nicht per AppleScript ein Shell Kommando ausühren, das schon in der Shell nicht funktionieren würde. Das "tell Application "Terminal"" kannt Du Dir übrigens sparen, ebenso wie die Protokollangabe.
Mach es so:
Code:
do shell script "echo rename /eingangsverzeichnis/datei.WAV /zielverzeichnis/datei.WAV | ftp user:login@ftpserver.de"

(im Grunde kannst Du Dir soagr das AppleScript sparen, wenn das Dein einzigesKommando ist)
 

### überflüssiges fullquoting entfernt von maceis ###
### der zitierte Beitrag steht doch unmittelbar darüber :Oldno: ###
### Bitte hier unter Punkt 6 nachlesen! ###


Das funtioniert ganz prima DANKE,
jetzt bräuchte ich nur noch eine Möglichkeit den Inhalt des Terminalfensters als Text zu sichern (um die Meldungen des FTP Servers auszulesen, ob alle gut gelaufen ist). Ich kenne leider nur die Möglichkeit mit ">", diese funtioniert hier aber nicht..
 
Zuletzt bearbeitet von einem Moderator:
hat sich erledigt, habe was gefunden :)
 
Da wäre es jetzt ein feiner Zug gewesen, wenn Du hier Deine Lösung gepostet hättest, damit auch andere etwas davon haben, die vielleicht später einmal diesen Thread über die Suche entdecken.
 
Da wäre es jetzt ein feiner Zug gewesen, wenn Du hier Deine Lösung gepostet hättest, damit auch andere etwas davon haben, die vielleicht später einmal diesen Thread über die Suche entdecken.

Dieser Aussage schliesse ich mich auch an, wäre Intressant
 
ok, ok, ihr habt ja Recht ;)

so kann man den Inhalt des Terminalfensters als Text speichern (z.b. hier Desktop):

tell application "Terminal"
set this_story to contents of window 1 as text
set this_file to (((path to desktop folder) as text) & "ServerDelLog.txt")
my write_to_file(this_story, this_file, false)
close window 1
end tell

on write_to_file(this_data, target_file, append_data)
try
set the target_file to the target_file as text
set the open_target_file to ¬
open for access file target_file with write permission
if append_data is false then ¬
set eof of the open_target_file to 0
write this_data to the open_target_file starting at eof
close access the open_target_file
return true
on error
try
close access file target_file
end try
return false
end try
end write_to_file

Das Script ist ok, allerdings meckert FileMaker (den ich leider zum Aufrufen brauche) rum, es gäbe einen Fehler, im Scripteditor funktioniniert es aber prima. Wohl ein FM Bug. :(
 
und falls auch jemand so ein FileMaker Problem haben sollte, es lässt sich so lösen. Das Script ist statisch, also kann man es einfach als .app sichern und dann via open url "file:///pfad" ausführen..
 
Zurück
Oben Unten