web-dev-qa-db-fra.com

Exécuter AppleScript sans ouvrir l'éditeur

Chaque fois que je veux exécuter un AppleScript, l'éditeur apparaît.

Y a-t-il un moyen de le gérer directement?

12
OscarRyz

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.

link text

19
Bruce McLeod

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".

7
jtbandes

Sous MacOS High Sierra 10.13, il n'y a pas de fichier/sauvegarde sous.

Vous devez utiliser le format de fichier/exportation/fichier: application File ExportFile Format

1
Jay Walker

Vous pouvez également placer le script dans votre ~/Bibliothèque/scripts/Finder/Dossier et exécutez-le directement dans le menu Script.

1
jamiepeloquin

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)

  1. Lancer l'automatiseur
  2. Fichier> Nouveau et sélectionnez Service
  3. Dans "Service accepte:" Sélectionnez "Fichier ou dossier"
  4. Dans "Emplacement:" Sélectionnez "Finder.app"
  5. Rechercher "exécuter AppleScript" et faites glisser l'élément sur le côté droit
  6. 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
    
  7. Fichier> Enregistrer et donnez-lui un nom comme "exécuter AppleScript"

  8. 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

0
Jack Wu