我经常在命令行中发现自己想要将文件复制到剪贴板,以便可以将它们作为附件粘贴到Mail中。如果我有一个图像文件,image1.png
可以通过以下方式完成此操作
osascript -e 'tell app "Finder" to set the clipboard to ( POSIX file "image1.png" )'
如果我执行上述命令,然后在Mail中打开新消息并按命令V,则图像文件将作为附件粘贴。请注意,pbcopy
这里显然不是解决方案,因为这会复制文件的内容并在粘贴命令V时导致垃圾邮件。
我的问题是如何对多个文件执行相同的操作?假设我要同时粘贴image1.png
和image2.png
。从Finder来看这很简单(在命令C中将它们都选中,然后切换到“邮件”和命令V;瞧,两个文件都显示为附件)…但是如何从命令行执行此操作?
1
这是来自AppleScript的麻烦。我建议选择一种可编写脚本的剪贴板管理器,或者通过您喜欢的脚本语言使用Cocoa NSPasteboard。另一种选择是创建文件夹操作,因此您可以将文件复制到文件夹,然后让Finder选择文件夹中的所有项目,将它们复制到剪贴板,然后清空文件夹。如果只想通过电子邮件将文件作为附件发送,则另一种方法是遍历列表并创建邮件→新的外发邮件→内容→邮件附件。
—
艺术泰勒
@ArtTaylor,谢谢您的选择。我正在开发一个Applescript,它可以完成您提到的最后一件事,基本上是
—
JCOidl 2012年
make new attachment with properties {file name:this_file} at after last paragraph
使用重复循环来告诉Mail的事情argv
。我想知道原始问题的答案是否确实仅仅是“ Applescript无法做到”。
我真的有那种感觉,但是我讨厌说“不能”。我认为困难在于创建通用解决方案,因为粘贴板包含剪贴板内容的多个版本,允许粘贴接收者选择适当的表示形式。
—
艺术泰勒