AppleScript for Finder停止了与Mavericks的合作

时间:2013-11-17 08:59:34

标签: applescript osx-mavericks finder

我有这个非常简单的AppleScript:

tell application "Finder"
    activate

    set |Window| to get Finder window 1

    set the current view of |Window| to icon view

    set |View Options| to icon view options of |Window|

    set the icon size of |View Options| to 256
    set the label position of |View Options| to bottom
    set the shows item info of |View Options| to true
    set the shows icon preview of |View Options| to true
    set the arrangement of |View Options| to arranged by name
end tell

在小牛队之前表现得非常好。好吧,它仍在运行,但缺少所需的效果。什么都没有,绝对没有任何事情发生。

有人知道OS X的新版本有什么变化吗?

更新1:

现在我注意到更改确实发生了 - 在Finder重新启动之后。所以它可能(或可能不)与这个问题相关,然后«Finder update/refresh applescript not working in 10.8» - 只有我没有问题10.8它只出现在10.9

2 个答案:

答案 0 :(得分:1)

我现在可以提供帮助的简单修复,就是添加一个关闭窗口并打开脚本窗口。

     tell application "Finder"
    activate

    set |Window| to get Finder window 1

    set the current view of |Window| to icon view

    set |View Options| to icon view options of |Window|

    set the icon size of |View Options| to 256
    set the label position of |View Options| to bottom
    set the shows item info of |View Options| to true
    set the shows icon preview of |View Options| to true
    set the arrangement of |View Options| to arranged by name

    set flipTarget to folder "Users" of startup disk 
    set targ to target of |Window|

    set target of |Window| to flipTarget
    set target of |Window| to targ
    (* --close |Window|

    --open targ
    *)
end tell

不理想,但直到有人知道如何解决这个错误。我想把它想成一个更好的解释就是一个bug。它可能会。

脚本收集窗口1的目标。关闭窗口1.然后打开窗口1的目标。

我怀疑这个错误与Mavericks中的事实相关,如果你打开一个应用程序首选项plist文件并进行更改。此更改可能不会像以前在10.9中那样生效。我认为这是因为改变了首选项的阅读方式和阅读时间。我觉得记忆中的内容会让总统们接受手动改变。但是,如果使用unix命令defaults,它们会立即改变。


*** UPDATE * 1

在马丁的回答中,有一个很好的想法只是翻转目标。 但是由于没有在根目录上工作的问题。

简单的答案是使用特定的翻转目标。在这个cae中的用户主文件夹。我们都有这些......

我已经更新了代码的最后一部分并注释掉旧位。


更改代码是

set flipTarget to folder "Users" of startup disk
    set targ to target of |Window|

    set target of |Window| to flipTarget
    set target of |Window| to targ

答案 1 :(得分:0)

@markhunte是对的 - 它似乎是一个错误,需要重新打开窗口或类似的东西绕过它。在macscripter.net我找到了一些额外的信息。我现在的版本(也学到了其他新技巧):

  tell application "Finder"
    activate
    tell Finder window 1
        set current view to icon view

        set its icon view options's properties to {icon size:64, label position:bottom, shows item info:true, shows icon preview:true, arrangement:arranged by name}

        -- we refresh the window to reflect the icon size change!
        set Original_Target to its target as alias
        set Parent_Target to container of its target as alias
        set target to Parent_Target
        set target to Original_Target
    end tell
end tell

此解决方案不需要关闭窗口,只需更改其目标。在脚本编辑器中,您会看到窗口闪烁 - 但是当从脚本菜单启动时,它会如此之快,您不再注意到它。

此解决方案不利于@markhunte解决方案:无法在根目录上运行。