Chaque fois que je veux exécuter un script Apple, l'éditeur apparaît.
Existe-t-il un moyen de l'exécuter directement?
macos
applescript
OscarRyz
la source
la source
Lors de l'enregistrement du script, vous pouvez choisir "Application" dans la liste déroulante Format de fichier; vous pourrez ensuite l'exécuter et vous pourrez toujours le faire glisser vers l'éditeur de script pour ouvrir le script; ou vous pouvez choisir Exécuter uniquement pour ne pas enregistrer la version modifiable.
Vous pouvez également utiliser la
osascript
commande dans Terminal, sous la formeosascript /path/to/script
ou ouosascript -e "a short script here"
.la source
Vous pouvez également placer le script dans votre dossier ~ / Library / Scripts / Finder / et l'exécuter directement à partir du menu Script.
la source
Sous macOS High Sierra 10.13, il n'y a pas de fichier / enregistrer sous.
Vous devez utiliser Fichier / Exporter / Format de fichier: Application
la source
Une autre façon consiste à créer un service dans Automator qui utilise la
osascript
commande pour exécuter un .scpt dans le Finder.(Je n'utilise pas Automator en anglais, donc la formulation peut ne pas être exacte)
Dans la zone Exécuter AppleScript, entrez le code suivant:
Fichier> Enregistrer, et donnez-lui un nom comme "Exécuter AppleScript"
Vous pouvez maintenant cliquer avec le bouton droit sur un fichier .scpt dans le Finder et sélectionner "Exécuter AppleScript" et voir votre script exécuté.
Référence: source du sous-programme - AppleScript: sous-routines essentielles
la source
osascript
et ne l'avez pas codé pour le gérer si plus d'un fichier .scpt est sélectionné dans le Finder. 2. Il n'est absolument pas nécessaire de passer par un tel rigmarole de codage lorsque la seule ligne de code suivante remplace tout ce que vous avez ajouté à l'action Exécuter AppleScript.do shell script "osascript " & quoted form of POSIX path of item 1 of input
Voici un exemple minimal pour tout remplacer dans votre code AppleScript actuel: paste.ee/p/XngKAif
bloc d'instructions peut être développé avec uneelse
clause qui affiche un message indiquant que le fichier sélectionné n'est pas un fichier .scpt. De cette façon, l'utilisateur ne se demande pas pourquoi rien ne s'est produit s'il ne voit pas qu'il a accidentellement sélectionné le mauvais type de fichier lors de l'exécution du service.