我的AppleScript功能相当有限,所以请原谅可能是一个简单的问题。
我将这个脚本作为Automator服务,它将在新窗口中打开一系列别名 通过首选项>键盘>快捷键>服务在Finder中通过键命令触发 服务在Finder中接收选定的文件或文件夹
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
我想尝试在标签中打开,最好不要使用GUI脚本
set aWindow to make new Finder window
似乎没有等效set aWindow to make new Finder tab
&淘到Apple的在线文档' make'或者' tab'已证明相当无果......或者更多的水果,所有错误的品种:/
我有来自其他来源的GUI版
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
所以,如果没有直接的方法,我怎么能把它折叠到我现有的脚本中?
MacOS 10.13.4
答案 0 :(得分:1)
macOS 默认 在标签中打开文件夹而不是新窗口 首选项 Finder , Dock 首选项 打开文档时首选标签 系统偏好设置设置仅限全屏,以下示例 AppleScript 代码应按原样运行,并合并原始 AppleScript 代码和new_tab
处理程序的代码。
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 theWindow to make new Finder window
set madeNewWindow to true
else
my makeNewTab()
end if
set theWindow'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
在我的系统上,我没有必要使用delay
命令但是,delay
命令可能会也可能不会需要在您的系统上使用,如果需要,请在适当时调整值时添加。
在 Automator 服务中运行AppleScript 操作进行编码,其中服务在[Finder] 中接收选定的[文件或文件夹]。
需要将 Finder 添加到安全性&中的辅助功能下系统偏好设置中的隐私。
在macOS High Sierra下测试。
注意: 示例 AppleScript 代码就是这样,并且不使用任何其他错误处理然后显示的内容,仅表示完成任务的众多方法之一。用户有责任根据需要添加/使用适当的错误处理。