Hier ist, was ich versuche zu tun:
Ich habe einen Ordner, der ein Skript und eine Datei enthält. Die Datei ist eine ältere Kopie einer Datei, die sich in diesem Pfad befindet: /System/Library/PrivateFrameworks/Apple80211.framework/Versions/A.
Ich versuche, ein AppleScript zu erstellen, das den Finder aktiviert, den oben genannten Pfad öffnet, prüft, ob die betreffende Datei existiert, benennt diese Datei in .new um, wenn dies der Fall ist, und verschiebt dann die ältere Version aus dem Ordner, der das Skript enthält.
Wenn das AppleScript alternativ ausgeführt wird, wenn die .new-Version der Datei im oben genannten Pfad vorhanden ist, möchte ich, dass das Skript die ältere Version der Datei (die zuvor kopiert wurde) in .old umbenennt und die .new aus entfernt die ursprüngliche Datei (dh im Wesentlichen rückgängig machen, was es zuvor getan hat, aber ohne die hinzugefügte Datei zu entfernen).
Egal, was ich versucht habe, ich konnte das Skript bisher nicht dazu bringen, sich ordnungsgemäß zu authentifizieren, um die Datei umzubenennen (der betreffende Ordner erfordert offensichtlich die Genehmigung des Administrators, bevor Änderungen vorgenommen werden können).
Das Skript dazu zu bringen, den Finder zu aktivieren und den Ordner zu öffnen, ist ziemlich trivial (z. B. tell application "Finder" activate open ("/System/Library/PrivateFrameworks/Apple80211.framework/Versions/A" as POSIX file) end tell
funktioniert gut), aber das Skript dazu zu bringen, sich danach zu authentifizieren, die Existenz der Datei(en) zu überprüfen und dann entsprechend zu handeln, war ziemlich erfolglos Aufgabe.
Jede Hilfe wird sehr geschätzt.
do shell script "
d=/System/Library/PrivateFrameworks/Apple80211.framework/Versions/A
if [[ -e $d/Apple80211 ]]; then
mv $d/Apple80211 $d/Apple80211.new
cp ~/path/to/Apple80211 $d/Apple80211
else
mv $d/Apple80211 $d/Apple80211.old
mv $d/Apple80211.new $d/Apple80211
fi" with administrator privileges
mmmmmm