【发布时间】:2013-07-30 05:23:38
【问题描述】:
我正在使用 automator 创建 osx 服务以显示文件的上下文菜单项,例如 dropbox 如何显示下面的菜单。
我知道这些不是 osx 服务,但是我想用 osx 服务完成同样的事情。因此,我在 Finder.app 中使用 automator 为文件和文件夹创建了 2 个 osx 服务,并为此附加了一个 shell 脚本操作。
现在我可以在上下文菜单中看到我所有的 2 项服务(与 a 共享,与 b 共享),如下所示
从 shell 脚本(这些服务的操作)正在启动一个应用程序。我想以文件路径和服务名称作为两个命令行参数来启动应用程序。
知道如何在 shell 脚本中获取用户选择的服务的服务名称,就像我们从命令行参数“$@”获取文件名一样
【问题讨论】:
-
这似乎并不容易。我试过:1)为当前工作流的路径和名称寻找一个Automator预定义变量,但我没有找到这样的变量。 2)我尝试了 AppleScript 命令:“我的路径”,但这给出了运行工作流程的程序的路径。您能否从您的 Automator 操作“运行 Shell 脚本”中提供应用程序需要的服务以及它需要的数据?
-
感谢 Kaydell 的评论。基本上我的目标是打开一个浏览器,其 URL 对每个菜单项都不同。我将要做的是,我将通过将路径传递给文件和服务名称来从 shell 脚本启动一个应用程序/exe,以便应用程序可以通过从数据库中读取文件详细信息来基于服务名称构造 url 和在浏览器中加载 url。
标签: macos contextmenu automator