Copy file to clipboard

When you copy a file on the Finder, the pasteboard not only contains its path but also other infos like the name or the icon in several formats.

Is it possible to have the same result with AppleScriptObjC?

I don’t think you can get exactly the same result — I’m not sure how the Finder is putting icns there. And Finder doesn’t put the path — it puts the name, plus a URL.

This gets you close:

use AppleScript version "2.4" -- Yosemite (10.10) or later
use framework "Foundation"
use framework "AppKit"
use scripting additions

set theURL to current application's |NSURL|'s fileURLWithPath:"/Users/shane/Desktop/Sample.svg"
set theIcon to current application's NSWorkspace's sharedWorkspace()'s iconForFile:(theURL's |path|())
set {theResult, theName} to theURL's getResourceValue:(reference) forKey:(current application's NSURLLocalizedNameKey) |error|:(missing value)
set theClip to current application's NSPasteboard's generalPasteboard()
theClip's clearContents()
theClip's writeObjects:{theURL}
theClip's setString:theName forType:(current application's NSPasteboardTypeString)
theClip's setData:(theIcon's TIFFRepresentation()) forType:(current application's NSPasteboardTypeTIFF)
-- show it
clipboard info

Thanks Shane.
I was trying to copy the name with the writeObjects method.
:wink: