别名 - 新标签中的“显示原始”


3

更新:
在到目前为止的两个答案后,我略微移动了球门柱。我需要多个选择&标签 - 现有答案;一个有多选功能,另一个给我标签,我已经意识到这是要走的路。


我决定在不打扰原始层次结构的情况下跟踪已发布照片目录的最佳方法是将别名拖到一个单独的位置。

但是,许多用例需要原件;他们无法应对别名本身,例如网站或Photos.app

右键单击 - Show Original坚持在同一个窗口容器中显示它,因此返回别名文件夹失去位置,选择就消失了。在一个大文件夹中,这确实会测试你的记忆,以确定你在哪里。

有没有办法强制它在新窗口中打开,类似于Cmd /双击文件夹,从而保留在别名文件夹中的位置?

目前在High Sierra 10.13.4上


正如你所说,你“移动了球门柱”,从而使两个答案无效。您是否也在此处的答案(复制/粘贴)的帮助下提交了您自己的答案并接受了该答案作为问题的答案?你感觉还好吗?
boris42

我觉得这很好。由于你的态度让我相信你不会再进一步​​,我去了其他地方&回到这里归功于我的消息来源&通过提供可接受的认可答案来完成该圈子。你用蜂蜜比醋更多的苍蝇。
Tetsujin

哦不,我只是问,我是新来的,看它是如何运作的。没有捕捉,只是学习。我的最后一个问题应该是“这样做可以”,因为这就是我的意思。您的组合代码很简单,也是所有学习者的重点和资源。
boris42

啊,好的 - 证明你永远不会读到意图或变成文字,我的坏:)在“得到所需的答案”方面然后是的。这是我需要实现的。我自己的问题是我没有充分和完全事先明确规定了要求。原始解决方案各自具有小但不期望的副作用。最终结果给出了一个非常整洁的第二个窗口,其中包含所有原件。在一个新的答案中将每个部分的作者归功于似乎是在Ask Different本身的单一解决方案中将它们全部结合起来的唯一公平方式。
Tetsujin

当然,为了从其他作者那里“窃取声望点”这样做是不公平的;但是我不认为这真的是一个“代表点”的问题,我也不需要这些点,所以在这种情况下,它纯粹是为了能够在最后得到“一个接受的答案”。
Tetsujin

Answers:


4

我环顾四周,找到了一个只需要你想要的AppleScript(可以变成一个快捷方式)。不幸的是,它不应该像它应该的那样超级简单。它总比没有好,你只需要做一次。从长远来看,它将为您节省时间。

1)打开Automator。

2)创建新的“服务”

3)在“Finder”中将服务接收设置为“无输入”

4)添加'Run applescript'

5)将此代码放入其中:

-- duplicateFinderTab.scpt
-- Uses a hacky workaroud to duplicate the frontmost Finder tab,
-- since Apple hasn't provided great AppleScript support for this.

----------------------------------------------
on run {}
    tell application "Finder"
        if (count of Finder windows) > 0 then set duplicate_me to target of front Finder window
        set _sel to the selection
    end tell

    new_tab()

    tell application "Finder"
        set target of front Finder window to duplicate_me
        select _sel
    end tell

    open_orig()

end run

----------------------------------------------
on new_tab()
    tell application "System Events" to tell application process "Finder"
        set frontmost to true
        tell front menu bar to tell menu "File" to tell menu item "New Tab"
            perform action "AXPress"
        end tell
    end tell
end new_tab
----------------------------------------------
on open_orig()
    tell application "System Events" to tell application process "Finder"
        set frontmost to true
        tell front menu bar to tell menu "File" to tell menu item "Show Original"
            perform action "AXPress"
        end tell
    end tell
end open_orig

6)保存它(如果你打开一个取景器窗口,并选择你的别名,然后回到automator并点击'run',那么它将在这一点工作) - 注意:它可能会提示你添加'Automator'到'系统偏好' - > '安全&隐私' - > '辅助功能'权限。

7)在系统偏好中转到'键盘' - > '快捷方式' - > '服务' - > '无论你命名它'......选择一个快捷方式(如“^ -CMD-O”)。

其他事情:

它可能要求您执行一次:

选择取景器后,在菜单中,

'Finder' - > '服务' - > '无论你怎么命名'

或者如果没有出现:

'Finder' - > '服务' - > '服务首选项..' - >选中系统首选项中调用应用程序的框

根据您的系统设置方式,您可能会收到其他权限错误,但是,您应该注意到在步骤6或步骤5之后点击“运行”时脚本可以正常工作。只需首先在查找器中选择文件然后交换到automator应用程序并点击“运行”。

如果一切顺利,你的cmd-cntl-O快捷方式应该适合你,所以你可以做那个快捷方式(打开一个相同选择的新选项卡),然后右键单击并选择'show original'


由OP编辑
如果您收到错误“com.automator.runner.xpc不允许辅助访问”,则解决方法不明显。
您不能将com.automator.runner.xpc本身添加到Assistive Access,也不能添加Automator或Automator Runner帮助,但是在重新启动后线索是两个错误被触发,而不仅仅是一个。

enter image description here

将Finder本身添加到Assistive Access允许脚本运行。


非常好,谢谢!我在您的脚本中添加了一个调整,以便在新标签页中显示原始文件。关于工作的一些细节辅助权限让我花了一些时间才弄明白。现在一切都很美妙。
Tetsujin

4

没有UI脚本的更简洁,更简洁的解决方案:

打开Automator,创建一个新服务,从Finder接受文件和文件夹,添加一个 运行AppleScript 行动并输入以下内容:

on run {input, parameters}
    repeat with aFile in input
        tell application "Finder"
            try
                set origFile to original item of aFile
                set aWindow to make new Finder window
                set aWindow's target to origFile's parent
                select origFile
            end try
        end tell
    end repeat
end run

你的屏幕应该是这样的: reveal automator service

将Automator服务保存为 在新窗口中显示 然后打开 系统偏好设置/键盘/快捷方式/服务 。找出 在新窗口中显示 服务,点击 添加快捷方式 并输入 [R 。你的屏幕应该是这样的:

services preferences

关闭并在Finder中尝试该服务,方法是选择一个或多个别名并按下所选的快捷方式 [R 。它适用于多个文件,文件夹,即使某些项目实际上不是别名,也可以执行显示(因此脚本中的try / end尝试)。


井井有条!由于它可以处理多种选择,因此可能会导致一些窗口喷雾。是否有可能改变 set aWindow to make new Finder window 改为打开一个新标签?
Tetsujin

@Tetsujin您可以通过仅使用第一项来限制窗口喷射,或使用简单计数器和if语句限制到某个最大数量的项目。我无法立即想起一个没有击键脚本打开标签的方法,这使得它更加冗长。这也不是原来的问题。如果你喜欢这个解决方案,那就是upvote?
boris42

我怎么能在符号链接上做这个工作?我不使用别名。
e40

此外,这个对我没有任何作用。按下按键序列后,我在菜单栏中看到“Finder”闪烁,但就是这样。
e40

3

在...的帮助下 堆栈溢出 &安培;从两个答案中提出的想法开始 brw59 boris42 ,我现在有了这个,通过 user3439894

on run {input, parameters}
    set madeNewWindow to false
    repeat with i from 1 to count input
        tell application "Finder"
            if (kind of item i of input) is equal to "Alias" then
                set origFile to original item of item i of input
                if not madeNewWindow then
                    set aWindow to make new Finder window
                    set madeNewWindow to true
                else
                    my makeNewTab()
                end if
                set aWindow's target to origFile's parent
                select origFile
            end if
        end tell
    end repeat
end run

on makeNewTab()
    tell application "System Events" to tell application process "Finder"
        set frontmost to true
        tell front menu bar to tell menu "File" to tell menu item "New Tab"
            perform action "AXPress"
        end tell
    end tell
end makeNewTab

它结合了我 思想 我需要的是我 其实 需要,同时使用UI和非UI脚本和&给我一个新的窗口,很好地填充了标签,所有选择了一个别名,所以我可以翻阅标签&一次处理一个选择,然后关闭,留下我原来的窗口。


看起来像我想要的,但我不能让这个解决方案做任何事情。我在菜单栏中看到“Finder”闪光,但就是这样。想法?
e40
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.