Risposte:
Il modo in cui lo script viene salvato ha un grande effetto su come funzionerà in Mac OS X. Sembra che il tuo script sia appena salvato come script e questo è ciò che sta causando l'apertura dell'editor di script ogni volta che apri lo script.
Per risolvere il problema, apri lo script nell'editor AppleScript e salvalo come applicazione. Questo dovrebbe essere il trucco.
I passaggi sono (nell'editor)
File> Salva con nome> quindi imposta Formato file sull'applicazione, quindi salva.
Quando si salva lo script, è possibile selezionare "Applicazione" dal menu a discesa Formato file; allora sarai in grado di eseguirlo e sarai ancora in grado di trascinarlo in Script Editor per aprire lo script; oppure puoi scegliere Esegui solo per non salvare la versione modificabile.
In alternativa, è possibile utilizzare il osascript
comando in Terminale, come osascript /path/to/script
o osascript -e "a short script here"
.
Puoi anche posizionare lo script nella cartella ~ / Library / Scripts / Finder / ed eseguirlo direttamente dal menu Script.
Un altro modo è quello di creare un servizio in Automator che utilizza il osascript
comando per eseguire un .scpt nel Finder.
(Non sto usando Automator in inglese quindi il testo potrebbe non essere accurato)
Nella casella Esegui AppleScript, inserisci il seguente codice:
on run {input, parameters}
tell application "Finder"
--get the selected file
set selectedItem to (item 1 of (get selection))
--get location info (folder:file format)
set fileLocation to (selectedItem as alias) as string
--replace : with / with subroutine
set the semifinal to my replace_chars(fileLocation, ":", "/")
--remove Macintosh HD with subroutine
set the theFinal to my replace_chars(semifinal, "Macintosh HD", "")
end tell
do shell script "osascript " & "\"" & theFinal & "\""
return input
end run
on replace_chars(this_text, search_string, replacement_string)
set AppleScript's text item delimiters to the search_string
set the item_list to every text item of this_text
set AppleScript's text item delimiters to the replacement_string
set this_text to the item_list as string
set AppleScript's text item delimiters to ""
return this_text
end replace_chars
File> Salva e assegnagli un nome come "Esegui AppleScript"
Ora puoi fare clic con il pulsante destro del mouse su un file .scpt nel Finder e selezionare "Esegui AppleScript" e vedere eseguito lo script.
Riferimento: fonte della subroutine - AppleScript: routine secondarie essenziali
osascript
e non lo hai codificato per gestire se nel Finder è selezionato più di un file .scpt. 2. Non è assolutamente necessario passare attraverso tale rigmarole di codifica quando la seguente singola riga di codice sostituisce tutto ciò che è stato aggiunto all'azione Esegui AppleScript. do shell script "osascript " & quoted form of POSIX path of item 1 of input
Ecco un esempio minimo per sostituire tutto nel tuo attuale codice AppleScript: paste.ee/p/XngKA
if
blocco di istruzioni potrebbe essere espanso con una else
clausola che visualizza un messaggio che il file selezionato non era un file .scpt. In questo modo l'utente non viene lasciato a chiedersi perché non è successo nulla se non ha visto che ha accidentalmente selezionato il tipo di file errato durante l'esecuzione del servizio.