Pfad Speichern/Auslesen

B

bionic7

Neues Mitglied
Thread Starter
Dabei seit
26.02.2014
Beiträge
11
Reaktionspunkte
0
Hallo Zusammen,

Hatte mal folgende Scripts zum Speichern des Aktuellen Pfades und ein zweites zum auslesen dieses Pfades.

Seit Mojave funktioniert dies nicht mehr Ordnungsgemäss. Es gibt keine Fehlermeldung aber er list mir immer den selben Ordner aus... ich vermute das die Speicherung nicht funktioniert... Weiss jemand was sich hier geändert hat?

Script Pfad speichern:
Code:
property lastLocation : alias ":"
tell application "Finder"
    set lastLocation to insertion location
end tell

Script Pfad lesen:
Code:
property pathToApp : ""


try
    set saveScript to load script (POSIX file (pathToApp & "/Contents/Resources/Scripts/main.scpt"))
on error
    set pathToApp to POSIX path of (choose file "Wählen Sie das Programm zum Speichern des Pfades aus:")
    set saveScript to load script (POSIX file (pathToApp & "/Contents/Resources/Scripts/main.scpt"))
end try


tell application "Finder"
    open saveScript's lastLocation
end tell
 
nimm "path to me". :noplan:
 
Was bedeutet das? (Habe mich seit 4 Jahren nicht mehr damit befasst)
 
das bedeutet, eine app weiss wo sie liegt und kann dir das, durch obiges, mitteilen.
 
Das Script "Pfad auslesen" oder lesen wie ich es genannt hatte… Hat die Funktion das es den selbigen Ordner wieder im Finder öffnet.
D.h. Ich brauche nicht die Information welcher Pfad gespeichert wurde, sonder die Funktion das es mir genau diesen Pfad öffnet.

Das Script funktionierte vor Mojave einwandfrei
 
Hallo,
es sind zu wenig Infos, um zu sagen, ob der Fehler vor oder hinter dem Bildschirm sitzt.

Das Skript ist zwar ein seltsames Konstrukt (z.B. alias ”:“) ... aber an sich ok, sofern auf Grund der Property-Variablen die nötigen Bedingungen befolgt werden:
Skript 1 wird als App ausgeführt und nicht auf read-only Objekten angewandt.
Ansonsten Skript 1 mal bearbeiten oder neu kompilieren, einmal als Skript laufen lassen.

Was sich in Mojave geändert hat, ist das Sicherheits-Framework. Und da wirst du mit einer App, die sich ständig ändert (-> property) nicht glücklich werden!
Und selbst, wenn du das stattdessen viel besser den Pfad in einer -> Property List speichern würdest ... solange AppleScript Applets in Mojave nicht -> Code-Signiert sind, wirst du bei jedem Ausführen die erforderlichen Zugriffs-Berechtigungen neu setzen müssen!
Was ohne Code-Signatur auskommt, sind Automator Apps. Der Automator kann auch AppleScript ausführen.

Willkommen bei Mojave
 
Hallo Varuna,

Danke für Information. Mit neu Kompilieren hat leider nichts gebracht... Das mit der Zugriffsberechtigung stimmt und ist nicht zufriedenstellend. Mach mich mal schlau wie ich das ganze in den Automator bekomme :drink:
 
Hallo,

der Automator hätte durchaus einen weiteren Vorteil für dich, da du das Speichern des Pfades mit einem Dienst erledigen könntest. Sprich vom Kontextmenü aus oder sogar mit einem Kurzbefehl!
Und da der Automator auch Shell-Skripte ausführen kann und es mit defaults ein knackiges Tool zum Erstellen von Property Lists gibt, sähe das wirklich recht übersichtlich aus:

Dienst empfängt Dateien/Ordner in Finder
Aktion Shell-Skript ausführen - Eingabe als Argumente:
Code:
defaults write ~/Desktop/myplist.plist lastlocation -string "$@"

- - - - - - - -

Und zum Auslesen und Öffnen
Erste Aktion Shell-Skript ausführen - Eingabe an stdin:
Code:
defaults read ~/Desktop/myplist.plist lastlocation
Zweite Aktion Finder -Objekte öffnen mit Standardprogramm

Die Shell ist recht patriotisch... oder wie auch immer... jedenfalls kann defaults read erst mal keine Umlaute lesen. Solltest du etwa Ordner mit diesen haben, so wäre das Auslesen mit der Aktion AppleScript ausführen eine Alternative:
Working with Property List Files
 
Zurück
Oben Unten