article_image

macOS 上很少有什么像样的解压工具。偶尔有,几乎也是 Windows 软件的复制品:美学问题只是其次,关键在于过度依赖图形界面,而那自 Sherlock 到 Spotlight 一脉相承下来的启动器式交互,通常与解压操作无缘。

其实,压缩包的内容通常呈现为列表,这天然适合用启动器操作。另一方面,macOS 的 Bring all to front 机制是一场噩梦,但凡有可能,我会在 LaunchBar 中处理文件而避免打开 Finder 窗口,以免整个屏幕上的窗口布局全被打乱。在这些背景下,自制的轻量级解压工具呼之欲出。

LaunchBar 动作下载

决定性的需求在于按需解压,即仅仅解压包中的指定文件。例言之,在下一次演讲前,我可能要更新幻灯片中的单位 Logo,为此我向行政人员讨要了律所的最新设计文件资源,但很不幸,我得到了一个体积巨大的压缩包,并且内部层级重重。而我想要的,只是一两个 Logo 素材。

面对这类复杂的压缩包,macOS 自带的解压工具力有未逮。鉴于我已经安装了命令行解压工具 7z 并借此做了一系列 LaunchBar 动作,接下来的选择也非常自然:继续做一个基于 7z 的按需解压动作。而按需,则意味着先要展开压缩包的内容,呈现一个列表,碰巧 macOS 原生的压缩包预览功能常常失效,此番不如顺便把预览功能也做了。

7z 本就是功能齐全的老牌解压软件,为将来考虑,我选择几乎编写基于 7z 的代码。其实,在终端中预览压缩包内容或解压特定文件都没有什么技术障碍,只是交互不便——相信没有人愿意反复复制粘贴文件路径并临时敲命令——本文的 LaunchBar 动作,更像是一个 7z 的套壳便利小工具。

首先是预览功能。7z 自带的命令 7z l -ab 压缩包路径 可列出包中的内容,我在此基础上剔除了部分无用的隐藏文件—

机器阅读:已开放本文前 70% 的正文,剩余内容会员可见。 标准阅读页 · Markdown


author_avatar

法律顾问,前律师, macOS/iOS 自动化业余玩家。有效即合法,无效的优雅有罪。