【问题标题】:Opening a file with an app using a command line in apple script or an automator app使用苹果脚本或自动化应用程序中的命令行使用应用程序打开文件
【发布时间】:2017-12-26 21:24:50
【问题描述】:

我希望能够在特定应用程序(SeaMonkey 作曲家)中双击打开文件类型 (HTML)。

双击文件打开 SeaMonkey 浏览器,但我希望它在 Seamonkey Composer 中打开。唯一的方法是使用以下命令行

seamonkey -editor "filename.html"

那么,如何使用苹果脚本或自动机在 composer 中打开我的 html 文件?

【问题讨论】:

  • 在 Finder 中选择您的 HTML 文件,然后右键单击 > 打开方式。或文件 > 获取信息,并在“打开方式”部分中永久更改文件关联。
  • 谢谢,但正如我所说,该文件只能在 Composer 中使用命令行或在 Seamonkey 浏览器中通过点击快捷方式打开
  • 好的,我想我明白了——所以它是一个单独的应用程序,可以作为浏览器或编辑器运行,具体取决于它的启动方式,是吗? (可能不是本机 Mac 应用程序。)建议创建一个 AS 小程序作为自定义启动器,然后将所有 .html 文件与之关联。请参阅下面的答案。

标签: macos terminal applescript automator


【解决方案1】:

将以下脚本保存为脚本编辑器中的应用程序:

on run filesList
    repeat with fileRef in filesList
        do shell script "seamonkey -editor " & quoted form of POSIX path of fileRef
    end repeat
end run

选择 View > Show Bundle Contents 并给它一个自定义的 bundle ID。然后,您可以按上述方式更改文件关联。

以上假设seamonkey 命令本身只是一个启动器;如果它实际上是完整的应用程序(可能是这种情况,因为它显然不是原生 Mac 应用程序),中间行需要稍微调整一下:

do shell script "nohup seamonkey -editor " & quoted form of POSIX path of fileRef & " >/dev/null 2>&1"

这应该允许 shell 脚本在seamonkey 进程启动后立即退出,让 Seamonkey 一直运行,直到您从其 GUI 中退出它。

【讨论】:

  • 我很确定我们真的很接近,但我认为它不起作用,因为我们没有告诉脚本 seamonkey 应用程序在哪里,你怎么看?
  • 另外,这是我看到命令的地方 (seamonkey -editor "file.html") linuxquestions.org/questions/linux-software-2/…
  • 很可能。 do shell script 无权访问您的 Bash 配置文件或自定义环境变量,因此您可能需要编写 seamonkey 可执行文件的完整路径,而不仅仅是其名称。如果您不确定,在终端中输入 whereis seamonkey 可能会告诉您该路径[取决于 bash 之神当前的心情]。
【解决方案2】:

如果您想使用 AppleScript 来执行此操作,这个简单的脚本应该可以完成这项工作:

set filePath to ((path to documents folder) as text) & "filename.html"
tell application "Seamonkey Composer" to open filePath

我没有要测试的 Seamonkey Composer 应用程序,但它可以与 BBEdit 一起使用。 请注意,open 命令必须具有文件的完整路径。

【讨论】:

  • 谢谢,但我希望所有 hmtl 文件,无论它们在哪里,都可以在 composer 中打开,所以每次路径都会改变。
  • Pepe:那么@foo 已经提供了如何更改“html”文件的默认应用的解决方案。
猜你喜欢
  • 2015-09-14
  • 2011-01-19
  • 1970-01-01
  • 2013-03-11
  • 2011-07-07
  • 1970-01-01
  • 1970-01-01
  • 2016-11-03
  • 2013-07-08
相关资源
最近更新 更多