• Apfeltalk ändert einen Teil seiner Allgemeinen Geschäftsbedingungen (AGB), das Löschen von Useraccounts betreffend.
    Näheres könnt Ihr hier nachlesen: AGB-Änderung
  • Was gibt es Schöneres als den Mai draußen in der Natur mit allen Sinnen zu genießen? Lasst uns teilhaben an Euren Erlebnissen und macht mit beim Thema des Monats Da blüht uns was! ---> Klick

Dtatt Pfadangabe mit Doppelpunkten ist das Finder-spezifische Dateiformat angegeben

Andre007

Granny Smith
Registriert
21.09.08
Beiträge
15
Hallo!
Ich habe gerade mit AppleScript angefangen und habe mal eine Frage zur Pfadangabe mit Doppelpunkten:

Ich möchte mit dem Finder ein Verzeichnis auswählen und dann alle in diesem Verzeichnis befindlichen Dateien mit einem Program öffnen (Grafikdateien). Das geht im Prinzip so:


--ein Verzeichnis wird ausgewählt:
set folderSelected to choose folder "Select a folder"

--alle Dateien des gewählten Verzeichnisses werden in einer Liste abgelegt:
tell application "Finder"
set ListOfFiles to every file of folderSelected
end tell

--nun soll jede einzelne Datei mit einem Programm geöffnet werden:
repeat with aFile in ListOfFiles
tell application "Finder"
open file aFile using application file "ProgrammName.app" of folder "Applications" of startup disk
end tell
end repeat


Das Funktionier aber nicht. Der Grund:
ListOfFiles enthält Dateipfade in einem Pfadformat, dass nur vom Finder unterstütz wird, und das nicht zum Öffnen der Dateien genutzt werden kann. Das Format sieht folgendermassen aus (Beispiel):
document file "BILD1.JPG" of folder "Pictures" of folder "Desktop" of folder "Username" of folder "Users" of startup disk of application "Finder"

Eine Weiterbenutzung der Dateipfade ausserhalb des Finders funktioniert nur, wenn die Pfade im Pfadformat mit Doppelpunkten abgespeichert werden:
"Main Disc:Users:Username:Desktop:pictures: BILD1.JPG:"

Nur in diesem Format mit Doppelpunkten lassen sich die Dateien per Script öffnen.

Meine Frage:
Wie kann ich es schaffen, dass die DateiListe (ListOfFiles) Pfadangaben im herkömmlichem Format enthält (also Main Disc:Users:Username:...DateiName.Endung)? Oder wie lässt es sich von einem Format in das andere konvertieren?

Vielen tausend Dank,
André
 

Andre007

Granny Smith
Registriert
21.09.08
Beiträge
15
Danke für die (doppelte) Antwort!

Das ist allerdings nicht die Lösung, denn das Problem liegt nicht in der Definition des Variablentypen, sondern in der Schreibweise der Pfadabgabe, die zum einen mit "Datei of Foldername of Foldername of Diskname" oder mit Doppelpunkten "Diskname : Nutzername : Foldername : Foldername : Dateiname" angegeben wird. Nur letztere kann bei einem Aufruf eienr Datei weiterverarbeitet werden. Der Befehl >>choose folder "Select a folder"<< liefert aber nur erstere Schreibweise.

Ich möchte einfach per Finder (Dialogbox) eine Datei (bzw. Verzeichnis) auswählen und diese (bzw. die Dateien in dem Verzeichnis) in einem Programm öffnen. Das muss doch relativ einfach zu berwerkstelligen sein, scheitert aber an dem oben geschildertem Hindernis.

Wenn da jemand weiterweiss, bin ich sehr dankbar.

André
 

CloneOfMyself

Weigelts Zinszahler (Rotfranch)
Registriert
24.02.07
Beiträge
253
ich habe die frage schon verstanden ;)

aFile as text

liefert dir genau so einen Pfad (mit Doppelpunkten).
Du durchläufst doch die Liste der Dateien mit deiner repeat-Schleife. Wandelst du innerhalb dieser Schleife die jeweilige Datei-Referenz aFile in einen String um, erhälst Du genau das gewünschte Resultat.
 

Andre007

Granny Smith
Registriert
21.09.08
Beiträge
15
Ich bedanke mich bei Dir für die Hilfe - es funktioniert !!!

Ich muss allerdings
set aFile to aFile as text
schreiben - "aFile as text" alleine reicht nicht, und da bekomme ich eine Fehlermeldung.

Kannst Du Internetseiten oder Literatur zum weiteren Lernen für AppleScript empfehlen?