如何在Mac上将PNG剪贴板内容保存到文件

时间:2017-11-06 17:25:03

标签: macos shell applescript

由于pbpaste对图像数据不起作用,我使用以下命令将剪贴板的PNG内容保存到终端的文件中(实际上,来自{{1}用另一种语言命令,但终端中也会出现问题):

system()

如果文件已经存在,则此命令可以根据需要工作,覆盖其内容,但如果文件不存在,我会收到错误:

osascript -e "set png_data to the clipboard as «class PNGf»" \
  -e "set the_file to open for access POSIX path of \
      (POSIX file \"image.png\") with write permission" \
  -e "write png_data to the_file" \
  -e "close access the_file"

从AppleScript编写新文件的正确方法是什么?有没有比使用终端/系统()命令将剪贴板数据保存到文件更好的方法?

1 个答案:

答案 0 :(得分:1)

AppleScript:

set png_data to the clipboard as «class PNGf»
set the_file to open for access POSIX path of (POSIX file "/image.png") with write permission
write png_data to the_file
close access the_file
即使在脚本编辑器中,

第2行上的错误,突出显示问题的方法是将您的路径指定为image.png。您永远不会完全指定文件路径。在命令行中工作时,没有假定的主文件夹上下文。您必须指定完整路径。 您需要添加以下内容:

set posixPath to POSIX path of (path to home folder)