Buscar el archivo en la carpeta principal de un AppleScript

0

Tengo un AppleScript que llama a otra secuencia de comandos (una secuencia de comandos Perl en este caso) que reside en la misma carpeta que AppleScript.
Ahora estoy tratando de poner el script en una variable como esta:

tell application "Finder"
    set scriptPath to POSIX path of (container of (path to me) as text)
    set perlScript to (do shell script "find " & quoted form of scriptPath & " -name myscript.pl")
end tell

Pero el resultado que obtengo del comando de búsqueda de shell tiene dos barras antes del nombre del archivo: /path/to/folder//myscript.pl
Alguien tiene alguna idea de lo que estoy haciendo mal?

EDITAR:
Si bien no entiendo bien la barra doble, logré resolver el problema al no invocar el Finder y hacer lo siguiente:

set scriptPath to POSIX path of (path to me) -- path to AppleScript
set scriptFolder to do shell script "dirname " & quoted form of scriptPath -- path to folder with AppleScript
set perlScript to (do shell script "find " & quoted form of scriptFolder & " -name myscript.pl") -- path to PerlScript

No sé si esa es la mejor manera de hacerlo, pero me funciona.

    
pregunta jan 21.05.2016 - 15:11

1 respuesta

1

Aquí hay una respuesta para corregir el nombre de ruta de .. de AppleScript:

Obtenga la ruta actual al script dentro de AppleScript y agregue el subdirectorio

De todos modos, la construcción real que obtuviste: /path/to/folder//myscript.pl es un nombre de ruta correcto para su script Perl. El 1er / proviene del terminal y proviene de container : /path/to/folder/ .

Por lo tanto, su comando de búsqueda construido es muy similar a este que podría probar para experimentar:

find ~/ -name "Documents" -print

Sugerencia: trabaje directamente en Perl, es muchas veces más eficiente que cualquier AppleScript.

    
respondido por el daniel Azuelos 21.05.2016 - 15:57

Lea otras preguntas en las etiquetas