在Mac OS中以编程方式在Finder中选择多个文件

时间:2018-01-08 09:28:52

标签: macos applescript

如何在Finder中选择多个文件,就像我使用ctrl-click选择它们一样?我尝试了SELECT * FROM ( SELECT dept.*, ROW_NUMBER() OVER( PARTITION BY department ORDER BY id ) AS deptEntry FROM TABLE_NAME dept WHERE status = 'ACTIVE' ORDER BY deptEntry, department ) dept WHERE ROWNUM <=100; ,但只选择了最后一个。

1 个答案:

答案 0 :(得分:1)

    set F to {POSIX file "/Path/To/File.1", POSIX file "/Path/To/File.2", POSIX file "/Path/To/File.3", ...}

    tell application "Finder" to set selection to F

为了按预期工作,所有文件应该位于同一目录/文件夹中。但是,即使它们不是, Finder 似乎也会使用选择矩形突出显示它们,您可以对这些位于不同位置的文件执行操作,例如tell app "Finder" to move selection to NewFolder。但是,我发现在决定所有文件是否是选择和移动的一部分,或者只是列表中的最后一个文件,或者根本没有一个文件时,它并不总是一致的。至少可以说,这种行为似乎不可靠。

但是,对于同一目录中的文件 - 就好像用鼠标手动选择它们一样 - 它应该可以正常工作。

如果您的列表指定了不存在的文件,则脚本将在 Finder 尝试设置选择时抛出错误。

因此,选择多个选择的方式可能更清晰/更安全,可能是这样的:

    set ActiveFolder to POSIX file "/Path/To/Some/Folder"

    tell application "Finder"

        set F to items of folder ActiveFolder whose name is in ¬
            {"the_basename_of_file_one_plus_its.ext", ¬
                "the_filename_of_the_second.ext", ¬
                "this_is_the_third_one.ext", ... }

        reveal F

    end tell