如何通过快捷键用不同的软件打开某一个文件

如题:在 Mac 系统下有没有一种快捷的方式,来用特定的应用打开某一个文件?
比如,我有一个 pdf 文件,平常快速阅读的时候用 preview 就够了,但是我想仔细阅读并进行标记的时候,有时候是文献类的 pdf 我需要用文献管理软件打开或者是笔记软件打开,有些是普通的课本 pdf 我只需要用 pdf expert 打开就好。但这样的话就涉及到每次需要在右键菜单中手动指定某一个软件。我想的是普通双击的话用默认软件打开,加 command 双击的话用如 pdf expert 打开,用 control 再双击的话用 papers 打开

这要是 win, 我能想出不小于3种办法. :rofl:

自己写Automator脚本吧,不是很复杂,不过我感觉这是个伪需求,文献管理软件一般自己就有文件库管理功能,合理的使用方式是从打开文献管理软件,从文献管理软件中访问PDF。

本回答由moonshot生成

编写一个applescript脚本,实现用特定的app打开访达中已经选中的文件

要编写一个AppleScript脚本,以使用特定的应用程序打开Finder中已选中的文件,您可以使用以下脚本来实现。在这个例子中,我将使用“TextEdit”(文本编辑)作为目标应用程序,但您可以根据需要更改它。

-- 获取Finder中当前选中的文件列表
tell application "Finder"
    set selectedFiles to selection
end tell

-- 检查是否有文件被选中
if (count of selectedFiles) is equal to 0 then
    display alert "错误" message "请在Finder中选择一个文件。"
else
    -- 获取第一个选中的文件
    set firstSelected to item 1 of selectedFiles
    
    -- 定义要使用的应用程序
    set appToOpenWith to "TextEdit"
    
    -- 获取文件的绝对路径
    set filePath to POSIX path of firstSelected
    
    -- 检查应用程序是否已运行
    set isAppRunning to false
    tell application "System Events"
        set appProcessList to (name of every process) as list
        if appToOpenWith is in appProcessList then
            set isAppRunning to true
        end if
    end tell
    
    -- 使用指定的应用程序打开文件
    if isAppRunning then
        tell application appToOpenWith to open alias (filePath as alias)
    else
        try
            tell application appToOpenWith to open alias (filePath as alias)
        on error errMsg
            display alert "错误" message "无法使用" & appToOpenWith & "打开文件。请确保应用程序已安装。"
        end try
    end if
end if

这个脚本首先从Finder中获取当前选中的文件列表。然后,它会检查是否有文件被选中。如果有文件被选中,它会使用“TextEdit”应用程序打开第一个选中的文件。如果“TextEdit”没有运行,它会尝试启动应用程序并打开文件。如果应用程序无法找到或打开文件,将显示一个错误消息。

一个或许有用的方法(我没用过 Mac,无法验证,这只是一种推测):把打开 PDF 文档可能会用到的程序的图标都固定到 Dock 上,然后需要用谁打开 PDF,就把 PDF 文档拖到谁的图标上。

1 个赞

可以在捷径里面新建一个捷径,然后给它设置一个快捷键。