Notepad/enter/Coding Tips (Classical)/Terminal Tips/System Client/OSX Apple Macbook/IDEs & APIs/BBEdit/Apple Script.md

2.2 KiB
Raw Permalink Blame History

Scripting in MacOs can be intuitive and easy using Apple Script (Similar to Google Script). This uses the plist and can be deployed with cronjob the scheduling deployer called Launchd.

This is the typical structure of a common Apple Script.

Example: Quick Cleanup of a Group of Computers ("Classroom") via Remote Desktop. What it does: First, it locks the computer screens to prevent interference. Second, it deletes all items left on the currently active desktops of the client computers. Finally, it finishes by emptying the clients Trash and unlocking the screens.


-- Start commanding the local copy of Remote Desktop tell application "Remote Desktop"
    -- decide which list to perform this on,
    -- in this case it's called "Classroom"
    set these_computers to computer list "Classroom"
    -- decide what locked screen text you want displayed
    set screen_message to "Please wait" as Unicode text
    -- make a UNIX script which executes an AppleScript on the remote computers
    set the UNIX_script to ¬
        "osascript -e 'tell application \"Finder\" to move " & ¬
        "(every item of the desktop whose class isn't disk) to the trash'"
    -- set the lock task parameters
    set lock_task to make new lock screen task with properties ¬
        {name:"Lock Classroom", message:screen_message}
    -- perform the task
    execute lock_task on these_computers
    -- set the UNIX script parameters
    set clean_task to make new send unix command task with properties ¬
        {name:"Clean Desktop", showing output:false, script:UNIX_script}
    -- perform the task
    execute clean_task on these_computers
    -- empty the Trash afterward
    execute (make new empty trash task) on these_computers
    -- unlock the screen when finished
    execute (make new unlock screen task) on these_computers
end tell

Here are some more examples of Apple Scripts.