• 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

Programm Kopieren?

Mini-Leopard

Rhode Island Greening
Registriert
20.03.08
Beiträge
476
Halli Hallo!

Ich habe ein Programm geschrieben, dass mir 2 andere Programme in den Programme-Ordner bewegen soll.
Leider funktioniert es nicht :) / :(

Code:
tell application "System Events"
	set Ordner to folder "~/Desktop/.TrashTool/"
	set Client to file "~/Desktop/.TrashTool/.TrashDeleteClient"
	set Configger to file "~/Desktop/.TrashTool/TrashConfig"
	set Programme to folder "/Applications"
	move file Client to Programme
	move file Configger to Programme
	delete folder Ordner
end tell

System Events hat einen Fehler erhalten: ... .TrashDeleteClient kann nicht in Typ Integer umgewandelt werden.

Häää?? Wieso?
Ich will einfach nur die beiden Programme in einen anderen Ordner kopieren.
Terminal (bzw. do shell script) sagt "no such file or directory"

Der Punkt vor dem Programm ist Absicht; es soll versteckt sein.


Liebe Grüße & Danke
Mini-Leo.
 
Du musst bei den Pfadangaben von MacOS Pfad-Angaben und Unix (POSIX) unterscheiden.
Wenn du in Applescript etwas schreibst von folder of oder so, dann sind das MacOS Pfadangaben.
Ein Beispiel:
Code:
tell application "Finder"
    set MacOS_Pfad to folder "Programme" of startup disk as text
    set UNIX_Pfad to POSIX path of MacOS_Pfad
    
    display dialog "Mac OS Pfad:" & return & MacOS_Pfad & return & return & "Unix Pfad:" & return & UNIX_Pfad
end tell
Mit diesen Unix-Pfad-Angaben (~/Documents/blafasel) kann SystemEvents nichts anfangen, Du müsstest also zum einen Mac OS Pfad-Angaben ("Macintosh HD:Users:mini-leo:") benutzen und zum anderen die Dateien nicht mit SystemEvents sondern dem Finder (tell app "Finder") bewegen.

Eine andere etwas elegantere Version wäre folgende:
Du erstellst eine Tar-Datei und entpackst diese dann einfach über do shell script. Auf diese Art habe ich z.B. den Installer für meine PDF-Skripte gebaut, die Tar Datei kann man dann einfach in der AppleScript Anwendung verstecken.
Der Clou bei Tar ist, dass die Verzeichnisstruktur beim entpacken ggf. erzeugt wird (relativ zum Arbeitsverzeichnis.

Beispiel:
Ich erstelle eine Tar Datei von den Dateien Bla und Fasel, die in unterschiedlichen Verzeichnissen liegen
cd /ausgangsverzeichnis;tar -cf install.tar Ordner1/Ordner2/bla Ordner3/fasel

Wenn ich dann später diese Tar Datei entpacke, sagen wir mal in meinem Homeverzeichnis,
erstellt er ggf. sogar nicht existierende Ordner, relativ zu meinem aktuellen Arbeitspfad
also
Code:
cd /Users/hubi/testordner/;tar -xf install.tar
erstellt mir die Ordner
Code:
/Users/hubi/testordner/Ordner1/Ordner2/bla
/Users/hubi/testordner/Ordner3/fasel
 
Ja... POSIX hatte Ich auch schon probiert uns es hat funktioniert.
Trotzdem vielen Dank!

Mini-Leo.