I ultimately want to have a bash function to-clipboard
which gets file paths and copies the files to the clipboard. Using other scripting languages as helpers is okay. I currently have this for copying a single file:
file-to-clipboard() {
osascript \
-e 'on run args' \
-e 'set the clipboard to POSIX file (first item of args)' \
-e end \
"$@"
}
There is this Applescript that supposedly can copy multiple files, but I don't like it at all:
set f to {(POSIX file "/path/to/a/folder/a.png"), (POSIX file "/path/to/another/folder/b.png")}
tell application "Finder"
try -- to delete any old temp folder
delete folder "AS_mailCopy" of (path to temporary items)
end try
set tmp to make new folder at (path to temporary items) with properties {name:"AS_mailCopy"}
duplicate f to tmp
select files of tmp
activate
tell application "System Events" to keystroke "c" using command down
delete tmp
end tell
Related question:
Best Answer
You can use the AppleScript below to create a bash function that will let you add multiple file objects to the clipboard by supplying their file paths as command-line arguments. It returns
true
upon success andfalse
upon failure.You won't be able to paste the items inside the terminal, but if you navigate to a location in Finder, you can paste the items there. I hope this is along the lines of what you were after.
I'd advise saving this script as an
.applescript
or.scpt
file somewhere on your machine using Script Editor. Then, in your terminal, create your bash function:Then, to use: