# 一键将当前打开的文件发送到 LaunchBar

> 本文公开全文。

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

Mac用户的常态，就是屏幕上堆满了重重叠叠的窗口。

@Minja在UNTAG Premium 第二十五期吐槽了这一点，并提出了一种不打开文件夹的文件浏览思路。方式转变后，用LaunchBar重命名、新建文件夹等都不在话下，“非必要不开Finder”成为现实。

但相比成熟的Finder，LaunchBar总有未及之处，获取当前窗口文件并展示在Bar中就是一例。若实现这一步，进可通过Instant Send实现便捷地“用另一应用打开”，退可通过LaunchBar的导航逻辑快速打开其同一文件夹（甚至是相邻文件夹）下的关联文件，还可以与重命名、移动文件位置等衔接，创造的可能性不可谓不大。

## 思路和方法

发现需求后，技术上的实现反而没有什么难度：@Minja的“Ctrl Go”动作早就提供了用一个通用按键实现“在Finder中显示”的思路，Keyboard Maestro 11更新后新增的 %FrontDocumentPath% Token更是使得获取当前窗口文件路径不必再逐个App调整。整个动作的核心，仅两步而已：

第一步是用Token获取当前窗口文件路径，第二步是用LaunchBar打开。就这么简单。

## 长尾问题

本来事情到这里就结束了。但偏偏有些软件的当前窗口文件路径无法读取。Keyboard Maestro官方对%FrontDocumentPath% Token的介绍是：“若应用支持此属性（if the Application supports this property ）”则可用，但未明确支持与否的简单判断方法或列举出不支持的应用。我自己试用下来，微软办公三件套都可以支持，暂时只遇到PDF Expert、FSNotes、Obsidian的窗口文件无法读取。

好在PDF Expert、FSNotes的菜单栏都有“在访达中显示”的选项，Obsidian也可以通过在应用内设置快捷键来实现“在访达中显示”，算是留了一条GUI操作的小径。我据此补全了这些“长尾”，步骤稍显冗长，但思路很简单，无非是经由访达获取文件路径，无需赘述。有需要的读者可以下载以下动作。

下载链接（GitHub）

如遇新的不支持 %FrontDocumentPath% Token的应用，在Switch模块中新增对应应用的专属Finder方案即可，可以是模拟菜单栏选择或者快捷键。

## 小结

LaunchBar的Instant Send、不生成主应用窗口等特性提供了很好的交互方式，在大多数时候可以比Finder更好地承担枢纽的职能。相比于我原先所使用的“在Finder中显示后用Keyboard Maestro选择App打开”，新方案无论在便捷性还是通用性上都更上了一个台阶。

可见，踏上前往远方的火车之前，不妨先看看周围有没有传送门。

---

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