在一个Finder窗口中选择多个子文件夹

时间:2014-08-21 15:45:21

标签: select applescript directory

在我的AppleScript中,我试图选择所选文件夹中的所有子文件夹。该脚本似乎成功地选择了所需的子文件夹,但是根据其父文件夹,它们分别位于多个单独的窗口中。有没有办法强制它们在一个窗口中打开(就好像你在列表视图中展开文件夹而cmd单击从多个文件夹中选择子文件夹)?

谢谢,

以下是代码,以防万一。

tell application "Finder"
set SelectedFolders to selection
set i to 1
set NewSelection to {}
repeat with aFolder in SelectedFolders
    repeat with bFolder in aFolder
        copy bFolder to the end of NewSelection
    end repeat
end repeat
select every item of NewSelection
end tell

2 个答案:

答案 0 :(得分:0)

您可以尝试“设置选择”而不是“选择”。前Finder窗口必须在列表视图中,并且必须已经扩展相应的文件夹。基本上,如果您在前Finder窗口中看不到您要选择的内容,那么它将无效。

set selection to NewSelection

我不知道以编程方式扩展文件夹的方法。但是,您可以使用此...

确保Finder窗口位于列表视图中
set current view of Finder window 1 to list view

我认为你要做的事情将证明是困难的。在我的简短测试中,我无法让它始终如一地工作。祝你好运。

答案 1 :(得分:0)

我不会依赖这个...

tell application "Finder"
    set SelectedFolders to selection
    if SelectedFolders = {} then return

    set current view of Finder window 1 to list view
    my rightArrow()

    set NewSelection to {}
    repeat with aFolder in SelectedFolders
        set NewSelection to NewSelection & folders of aFolder
    end repeat

    if NewSelection ≠ {} then
        set selection to NewSelection
        my rightArrow()
    end if
end tell

on rightArrow()
    activate application "Finder"
    tell application "System Events"
        tell process "Finder"
            key code 124
        end tell
    end tell
end rightArrow