¿Cómo hago para que un AppleScript use una carpeta en el contenido de un paquete para un alias en el escritorio?

0

Estoy intentando escribir un AppleScript para crear un alias temporal en el escritorio desde una carpeta que reside en la carpeta de Contenidos: Recursos del Paquete y luego ejecutar un comando de terminal que tiene un argumento de un archivo que también reside en el Paquete Contenido: carpeta de recursos y luego eliminar el alias temporal del escritorio al finalizar o salir.

¿Cómo arreglo el siguiente código para lograr esto?

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

Este es el error que recibo:

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

Creo que lo he corregido hasta ...

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

pero aún tengo problemas con las líneas medias y la sintaxis correcta de lo que estoy tratando de lograr.

    
pregunta CyberManifest 12.11.2014 - 09:35

1 respuesta

1

No es necesario que le digas a la Terminal que ejecute el script (a menos que solo quieras echarle un vistazo). Pero también querrá usar una ruta posix escapada para evitar errores.

Podrías hacerlo como ...

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
    
respondido por el Mike Marlett 13.11.2014 - 22:05

Lea otras preguntas en las etiquetas