• Apfeltalk ändert einen Teil seiner Allgemeinen Geschäftsbedingungen (AGB), das Löschen von Useraccounts betreffend.
    Näheres könnt Ihr hier nachlesen: AGB-Änderung
  • Die Bildungsoffensive hier im Forum geht weiter! Jetzt sollen Kreativität und technische Möglichkeiten einen neue Dimension erreichen. Das Thema in diesem Monat lautet - Verkehrte Welt - Hier geht es lang --> Klick

Das Skript findet meine Dateien nicht!

Mini-Leopard

Rhode Island Greening
Registriert
20.03.08
Beiträge
476
Hallo liebe Skripting-Gemeinde!

Ich befasse nun schon seit längerem mit Skripting und Applescript.
Ich schreibe diverse mehr oder weniger sinnvolle Programme.
Dazu gehören unter anderem iPhone-Tools und (eher zum Üben und Spaß) Programme, die Ordner erstellen und dann wieder löschen :P

Also bin Ich mit Applescript ein wenig vertraut.

Nun habe Ich folgendes Problem:
Ich möchte ein Skript schreiben, dass mich mit einem Server (Ein AFP-Mac im LAN) verbinden und von dort eine Datei abrufen bzw. von dort auf den eigenen Mac kopieren.

Das Verbinden klappt mit diesem Befehl einwandfrei:

mount volume "afp://192.168.x.xy/Macintosh HD" as user name "[Der Nutzername]" with password "[Das Passwort]"

Nun möchte Ich die Datei mit diesem Befehl kopieren:

tell application "Finder"
activate
move document file ("/Volumes/Macintosh HD-1/Users/[Der Nutzername]/Pictures/EarthDesk.jpg" as alias) to desktop
end tell


Nun gibt Applescript folgenden Fehler aus:
attachment.php


Kann mir einer von euch helfen?
Stimmt etwas bei dem Befehl nicht oder muss Ich dem Kopiervorgang auch noch Nutzerrechte verleihen????

Liebe Grüße und Vielen Dank!
Mini-Leopard
 

Anhänge

  • Bild 1.jpg
    Bild 1.jpg
    22 KB · Aufrufe: 494
Servus,

versuchs doch mal mit rsync:


tell application "Terminal"
do shell script "rsync -av '/Volumes/Macintosh HD/Users/[Benutzer]/Pictures/EarthDesk.jpg' '/Users/[Benutzer]/Desktop'"
end tell

Die Optionen "-av" bedeuten folgendes:

-a: Archiv-Modus, d.h. die Berechtigungen, das Datum usw. der Datei wird beibehalten
-v: "Verbose"-Modus, d.h. die Kopieraktion wird angezeigt, mit eventuellen Fehlermeldungen. Kannst du also auch weglassen, wenns funktioniert.
 
Vielleicht:

move document (POSIX file "/Volumes/Macintosh HD-1/Users/[Der Nutzername]/Pictures/EarthDesk.jpg") as alias
 
Ja, so wie Skeeve es vorschlägt, nur ohne den Zusatz "document".
Ausserdem wundert es mich, dass es "Macintosh HD Bindestich 1" heissen soll. Muss es nicht nur "Macintosh HD 1" heissen?

move (POSIX file "/Volumes/Macintosh HD 1/Users/XXX/usw" as alias) to desktop


Gruss
 
Scheint funktioniert zu haben…
 
Oh wei! So viele Antworten!
Danke
Ich hatte vergessen, das Thema zu abonnieren.

Space. Leider funktioniert deine Variante nicht.
Da bekomme Ich folgenden Fehler:

file "Macintosh HD:Volumes:Macintosh HD 1:Users:juianweinert: Desktop:Liebe Dich.jpg" kann nicht in Typ alias umgewandelt werden.

Skeeve: deins funktioniert leider auch nicht:

document (file "Macintosh HD:Users:juianweinert: Desktop:Liebe Dich.jpg") of «script» kann nicht in Typ alias umgewandelt werden.

@ Madstreet: Funktioniert einwandfrei.
Nur muss es nicht "Macintosh HD" heißen, sondern "Macintosh HD-1". weil ja das normale Macintosh HD das interne ist.

Vielen Dank an alle eure Bemühungen!
Mini-Leopard
 
Das ganze läuft wie gesagt sehr gut.

Nun hab Ich eine Frage:
Wie kann Ich eine bestehende Datei mit dem Namen
1. Überschreiben und
2. Eine Ordnungszahl hinzufügen????

Am aller liebsten wäre mir, wenn Ich die Datei Kopiere, die alte umbenenne und jede noch ältere version lösche.

Könnt ihr mir helfen?
LG
Mini-Leo
 
@ Mini-Leopard
Wenn du mit "Finder" eine Datei aufrufst solltest du entweder
Code:
get item "meine_datei" of folder "mein_ordner" of startup disk
schreiben oder
Code:
get item "Macintosh HD:mein_ordner:meine_datei"
Für POSIX Pfade nutze tell application "System Events"