Come faccio a far sì che un AppleScript utilizzi una cartella nel contenuto di un pacchetto per un alias sul desktop?

0

Sto provando a scrivere un AppleScript per creare un alias temporaneo sul desktop da una cartella che risiede nella cartella Contents: Resources di Bundle e quindi eseguire un comando di terminale che ha un argomento da un file che risiede anche nel pacchetto. Contenuto: cartella Risorse e quindi rimuovere l'alias temporaneo dal desktop al termine o uscire.

Come posso risolvere il seguente codice per realizzare questo?

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

Questo è l'errore che ottengo:

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

Penso di averlo corretto a ...

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

ma continuano ad avere problemi con le linee di mezzo e la sintassi corretta di ciò che sto cercando di realizzare.

    
posta CyberManifest 12.11.2014 - 09:35
fonte

1 risposta

1

Non devi dire a Terminal di eseguire lo script (a meno che tu non voglia semplicemente metterlo d'occhio). Ma vorresti anche usare un percorso posix con escape per evitare errori.

Potresti farlo come ...

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
    
risposta data 13.11.2014 - 22:05
fonte

Leggi altre domande sui tag