0 votes

Comment faire pour qu'un AppleScript utilise un dossier dans le contenu d'un paquet pour un alias sur le bureau ?

J'essaie d'écrire un AppleScript pour créer un alias temporaire sur le bureau à partir d'un dossier qui réside dans le dossier Contents:Resources de l'ensemble, puis exécuter une commande de terminal qui a un argument à partir d'un fichier qui réside également dans le dossier Contents:Resources de l'ensemble, puis supprimer l'alias temporaire du bureau à la fin ou à la sortie.

Comment puis-je modifier le code suivant pour y parvenir ?

set myRes to (path to me as text) & "Contents:Resources:"

tell application "Finder"
     make new alias to folder myRes & "Pass-Through Drive" at desktop
end tell

tell application "Terminal"
     activate
     do script myRes & "BasilliskII --config basilisk_ii_prefs"
end tell

tell application "Finder"
     delete file "Pass-Through Drive" of desktop
end tell

Voici l'erreur que je reçois :

error "Can’t make «class cfol» \"Resources\" of «class cfol» \"Contents\" of «class appf» 
  \"Mac OS 8.1.app\" of «class cfol» \"Desktop\" of «class cfol» \"ryan\" of «class cfol»
  \"Users\" of «class sdsk» of application \"Finder\" into type list, record or text."
  number -1700 from «class cfol» "Resources" of «class cfol» "Contents" of «class appf» 
  "Mac OS 8.1.app" of «class cfol» "Desktop" of «class cfol» "ryan" of «class cfol» "Users"
  of «class sdsk» to list, record or text

Je pense que je l'ai corrigé en...

set myRes to (path to me as text) & "Contents:Resources:"

tell application "Finder"
     make new alias to folder (myRes & "Pass-Through Drive") at desktop
end tell

tell application "Terminal"
     activate
     do script myRes & "BasilliskII --config " & myRes & "basilisk_ii_prefs"
end tell

tell application "Finder"
    delete file "Pass-Through Drive" of desktop
end tell

mais j'ai toujours des problèmes avec les lignes centrales et la syntaxe correcte de ce que j'essaie d'accomplir.

1voto

Mike Marlett Points 26

Vous n'avez pas besoin de dire à Terminal d'exécuter le script (à moins que vous ne vouliez simplement poser les yeux dessus). Mais aussi vous voudrez utiliser un chemin échappé posix pour éviter les erreurs.

Tu pourrais le faire comme...

set myRes to alias (path to me as text) & "Contents:Resources:"

tell application "Finder"
     make new alias to folder (myRes & "Pass-Through Drive") at desktop
end tell

set posixRes to (POSIX path of myRes)

do shell script quoted form of posixRes & "BasilliskII --config " & quoted form of posixRes & "basilisk_ii_prefs"

tell application "Finder"
    delete file "Pass-Through Drive" of desktop
end tell

LesApples.com

LesApples est une communauté de Apple où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres utilisateurs d'appareils Apple, poser vos propres questions ou résoudre celles des autres.

Powered by:

X