# 在 LaunchBar 中预览压缩包并解压指定文件

> 本文开放前 70% 正文，剩余内容会员可见。

原文：https://utgd.net/article/21382

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 压缩包路径 可列出包中的内容，我在此基础上剔除了部分无用的隐藏文件—

---

[前往标准阅读页](https://utgd.net/article/21382?audience=web)
