18 Sep 2022
Need to learn it at some point - can be very helpful for many desktop automations where Python might not be ideal/best suited.
Use Script Editor.app to create scripts.
First working script/snippet, based on copy/paste and basic tweaking:
on run {input, parameters}
tell application "Finder"
set filename to name of file input
end tell
set the clipboard to filename
end run
➡️ !helpers/macos-copy-filename
27 Sep 2022
open a file in a specific application
tell application "Atom" to open POSIX file "/path/to/file/test.txt"
how to run applescript from command line
osascript /path/to/file/my_script.scpt

date formatting
set date_now to ((current date) as string)
outputs:
"Tuesday, 27 September 2022 at 10:57:26"
string concatenation
set a to "This "
set b to "seems to "
set c to "work."
set myVar to a & b & c
outputs:
"This seems to work."
timestamp
set timestamp to (do shell script "date '+%y%m%d-%H%M'")
Script: write clipboard content to txt file and open in Atom
working:
do shell script "pbpaste > /Users/xxx/my_folder/220927-1121.txt"
tell application "Atom" to open POSIX file "/Users/xxx/my_folder/220927-1121.txt"
need to figure out how to do string injection or variable insertion of output path.
working path construction:
set root_path to "/Users/xxx/my/path/"
set timestamp to (do shell script "date '+%y%m%d-%H%M'")
set file_extension to ".txt"
set file_path to root_path & timestamp & file_extension
outputs:
"/Users/xxx/my/path/220927-1128.txt"
working script 😁
set command to "pbpaste > "
set root_path to "/Users/xxxx/my/folder/"
set timestamp to (do shell script "date '+%y%m%d-%H%M'")
set file_extension to ".txt"
set file_path to root_path & timestamp & file_extension
set full_command to command & root_path & timestamp & file_extension
do shell script full_command
tell application "Atom" to open POSIX file file_path
Key it seems is that variables come out enclosed with quotes which were redundant with the quotes required for the shell script instructions, so including the command itself in the string was the solution.
quoted form of
to ensure that strings such as (literal) filenames are passed to the shell unmodified (to protect strings from shell expansions), prefix them with quoted form of
.
Resources
