macOS能否做到删除上一条剪贴板记录(恢复之前的剪贴板)?

我想拷贝一段文本,然后执行某些动作后删除刚才拷贝过的文本,也就是删除上一条(最后一条)剪贴板记录,相当于把剪贴板恢复成拷贝之前的状态,能不能做到?

由于macOS没有读取选中的文本这个功能,所以想处理文本必须要经过剪贴板,但我看某些自动化App(e.g. popclip)可以在拷贝完成后恢复之前的剪贴板,这个是怎么做到的?有没有AppleScript或者Terminal command之类的可以做到?

发布日期 2020年3月9日 上午10:10

回复
回复量:1

2020年3月9日 上午11:02 回应 Atari

系统自带的系统剪贴板是不维护历史数据的. 根据你的需求, 可能可以使用 macOS 系统自带的 textclipping 功能. 最简单的操作是:

    1. 选中要拷贝的内容(可以是混合文本图片等)
    2. 用鼠标把选中的部分拖放到桌面上, 在桌面上会创建叫做 .textclipping 的文件
    3. 把这个文件拖放到目标应用窗口中

这个方式不会改变剪贴板 (clipboard) 的内容, 而且可以 基本(有时并不会) 保持原数据的格式.


第二部分问题:

一个普通的原理是, 第三方程序自己维护一个剪贴板的缓存, 记录每次剪贴板的内容并添加到程序自己的记录中, 这样用户可以通过这个程序浏览剪贴板历史.


AppleScript和Terminal命令都有类似的系统剪贴板读取和写入的功能. 命令行的提供两条命令 pbcopy 和 pbpaste. 可以模拟上面的步骤, 但是不能自动操作, 需要手动做. Automator中也有类似的“copy to clipboard”和“Get Content of Clipboard”, 逻辑都一样.


这个主题已被系统或社区团队关闭。 你可以为你认为有帮助的任何帖子投票,也可以在社区中搜索其他答案。

macOS能否做到删除上一条剪贴板记录(恢复之前的剪贴板)?

欢迎来到 Apple 支持社区
Apple 客户在其产品方面互相帮助的论坛。使用您的 Apple 帐户开始畅游其中吧!!