Applescript
Applescript is a programming language used to create scripts in Mac computers.
Generic Syntax
Command | Effect |
---|---|
-- This is a single line comment |
Single line comment |
# This is another single line comment |
Single line comment |
(* This is a multi line comment *) |
Multi-line comment |
open location "http://www.zombo.com" |
Open URL with the appropriate program[5,6] |
do shell script "say \"we did it\"" |
Run arbitrary shell script[3] |
do shell script "..." with administrator privileges |
Run arbitrary shell script using sudo |
set variableName to value |
Set a variable |
tell application "iTerm" to ... |
Tell application to do something (see below) |
Destructure a list to new variables
set newList to {100, 200, 300}
set { x, y, z } to newList # x=100, y=200, z=300
set a to item 2 of newList # a=200
Conditionals[11]
if true then
# do stuff
else if false then
# do other stuff
else
# do another thing
end if
Tell System To Do Something
Dialog Box[9]
set theDialogText to "The curent date and time is " & (current date) & "."
display dialog theDialogText
Get User Input[10]
set theResponse to display dialog "What's your name?" default answer "" with icon note buttons {"Cancel", "Continue"} default button "Continue"
--> {button returned:"Continue", text returned:"Jen"}
display dialog "Hello, " & (text returned of theResponse) & "."
Tell Application To Do Something
tell application "iTerm" to # put single action here
tell application "iTerm"
# put multiple actions here
end tell
Actions
activate
- Run program-
open "Macintosh HD:Users:username:..."
- Open file at filepath[3]- To open files using standard notation (
/Users/username/...
), preface the filename withPOSIX file
:open POSIX File "/Users/username/..."
- To open files using standard notation (
close window 1
- Close windowset size of front window to {640, 400}
- Set window size {x, y}set position of front window to {0, 0}
- Set window position {x, y}set bounds of front window to {300, 30, 1200, 900}
- Set window size and position {X-start, Y-start, X-end, Y-end}; corresponds directly to pixels of display resolution
Droplets[13]
A droplet is an application that performs actions on files or folders that the user drops onto the application itself in the Finder. This is useful if you are scripting for people who aren't power users/terminal users or for simple tasks.
To signify that an application is a droplet, your code must include an open
event handler.
on open theDroppedItems
-- Process the dropped items here
end open
References
- http://downloads.techbarrack.com/books/programming/AppleScript/website/files_&_folders/opening_files.html
- Error Messages
- https://stackoverflow.com/questions/10126661/applescript-how-to-open-a-file-with-the-default-program
- https://developer.apple.com/library/archive/documentation/AppleScript/Conceptual/AppleScriptLangGuide/introduction/ASLR_intro.html
- https://developer.apple.com/library/archive/documentation/AppleScript/Conceptual/AppleScriptLangGuide/reference/ASLR_cmds.html#//apple_ref/doc/uid/TP40000983-CH216-SW54
- https://apple.stackexchange.com/questions/293777/how-do-i-open-a-generic-url-from-applescript
- https://wiki.keyboardmaestro.com/AppleScript
- Switch audio devices
- Display dialog text
- Getting user input
- If else
- Applescript fundamentals
- Droplets
Last modified: 202212070107