Chaque fois que je veux exécuter un AppleScript, l'éditeur apparaît.
Y a-t-il un moyen de le gérer directement?
Comment le script est enregistré a un gros effet sur la manière dont il fonctionnera dans Mac OS X. Il ressemble à votre script est simplement enregistré en tant que script et c'est ce qui permet à l'éditeur de script d'ouvrir chaque fois que vous ouvrez le script.
Pour résoudre le problème, ouvrez le script dans l'éditeur AppleScript et enregistrez-le comme une application. Cela devrait à l'astuce.
Les étapes sont (dans l'éditeur)
Fichier> Enregistrer sous> Puis définissez le format de fichier à l'application, puis enregistrez.
Lorsque vous enregistrez le script, vous pouvez choisir "Application" dans le format de fichier. Ensuite, vous pourrez l'exécuter et vous pourrez toujours le faire glisser vers l'éditeur de script pour ouvrir le script; Ou vous pouvez choisir de fonctionner uniquement pour ne pas enregistrer la version modifiable.
Sinon, vous pouvez utiliser la commande osascript
dans la borne, soit comme osascript /path/to/script
ou osascript -e "a short script here"
.
Vous pouvez également placer le script dans votre ~/Bibliothèque/scripts/Finder/Dossier et exécutez-le directement dans le menu Script.
Une autre façon consiste à créer un service dans l'automatiseur qui utilise la commande osascript
_ pour exécuter un .scpt dans Finder.
(Je n'utilise pas l'automatiseur en anglais, donc le libellé peut ne pas être précis)
Dans la zone Exécuter AppleScript, entrez le code suivant:
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
Fichier> Enregistrer et donnez-lui un nom comme "exécuter AppleScript"
Maintenant, vous pouvez cliquer avec le bouton droit de la souris sur un fichier .SCPT dans Finder et sélectionnez "Exécuter AppleScript" et voir votre script exécuté.
Référence: Source de sous-programme AppleScript: sous-routines essentielles