This started because I wanted to be able to paste screenshots or pictures copied from Safari into Finder folders. Here are the steps to get to where I am:
-
Install pngpaste using
brew install pngpaste
. -
Make Automator Quick Action, and configure as:
osascript -e 'set formattedDate to (do shell script "date +'%Y-%m-%dat%H-%M-%S%p'")' -e 'tell application "Finder" to set thePath to the quoted form of (POSIX path of (insertion location as alias) & formattedDate & ".png")' -e 'if ((clipboard info) as string) contains TIFF picture then do shell script "/usr/local/bin/pngpaste " & thePath' -e 'if ((clipboard info) as string) does not contain TIFF picture then tell application "System Events" to keystroke "v" using control down'
- Save and close.
- Remap default paste:
- Assign default paste to trigger service:
Best Answer
Having to write and maintain an
osascript
command as you have is really not the best way to go in this use case IMO.Using a Run AppleScript action, instead of a Run Shell Script action, the following example AppleScript code will resolve the issue you are currently having, and makes the code much easier to read and edit:
Notes:
POSIX path
is a part of Standard Additions not Finder, and should not be wrapped within atell
statement of Finder.date
command, use the-j
option.date
command to use 12-Hour Time as typically 24-Hour Time does not use AM/PM and have added made additional modifications to make it more readable, and in line with the system default used with screen shots."date -j '+%Y-%m-%d at %H.%M.%S'"