0 votos

¿Cómo puedo hacer que un AppleScript utilice una carpeta del contenido de un paquete para un alias en el escritorio?

Estoy tratando de escribir un AppleScript para hacer un alias temporal en el escritorio de una carpeta que reside en la carpeta Contents:Resources del Bundle y luego ejecutar un comando de terminal que tiene un argumento de un archivo que también reside en la carpeta Contents:Resources del Bundle y luego eliminar el alias temporal del escritorio al terminar o salir.

¿Cómo puedo arreglar 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 todavía tengo problemas con las líneas centrales y la sintaxis adecuada de lo que estoy tratando de lograr.

1voto

Mike Marlett Puntos 26

No necesitas decirle a Terminal que ejecute el script (a no ser que sólo quieras echarle un vistazo). Pero también querrás 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

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X