Ricerca di file nella cartella principale di un AppleScript

0

Ho un AppleScript che chiama un altro script (uno script perl in questo caso) che risiede nella stessa cartella di AppleScript.
Ora sto provando a inserire lo script in una variabile come questa:

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

Ma il risultato che ottengo dal comando find shell ha due barre prima del nome del file: /path/to/folder//myscript.pl
Qualcuno ha idea di cosa sto facendo male?

Modifica
Mentre non capisco perfettamente il doppio taglio, sono riuscito a risolvere il problema non invocando affatto il Finder e facendo quanto segue:

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

Non so se è il modo migliore per farlo, ma funziona per me.

    
posta jan 21.05.2016 - 15:11
fonte

1 risposta

2

Ecco una risposta per ottenere correttamente il percorso di .. da AppleScript:

Ottieni il percorso corrente per lo script in AppleScript e aggiungi la sottodirectory

Ad ogni modo, il vero costrutto che hai ottenuto: /path/to/folder//myscript.pl è un percorso corretto per il tuo script Perl. Il primo / proviene da quello terminale proveniente da container : /path/to/folder/ .

Quindi il comando di ricerca costruito è molto simile a questo che potresti provare sperimentare:

find ~/ -name "Documents" -print

Suggerimento: lavora direttamente in Perl, è molte volte più efficiente di qualsiasi AppleScript.

    
risposta data 21.05.2016 - 15:57
fonte

Leggi altre domande sui tag