MacOS Sierra&中小企业Synology NAS& Applescript崩溃了Finder

时间:2017-06-09 23:18:07

标签: macos applescript macos-sierra smb synology

我发现了一个我不知道如何解决的错误。所以我有一个Applescript告诉mac突出显示连接到Synology NAS服务器上共享文件夹的已经打开的Finder窗口中的某个文件。这是Applescript:

set theFile to "West Office Files:_Scan Inbox:LAR:1002.pdf"
tell application "Finder"
reveal document file theFile
end tell

出现错误,指出 Finder收到错误:文档文件“West Office Files:_Scan Inbox:LAR:1002.pdf”无法理解“显示”消息。我也尝试使用“选择”而不是“揭示”,问题仍然存在。但是,我刚刚发现它在第一次运行脚本时不会抛出错误。但是,如果我再次运行它来选择一个不同的文件(但在相同的文件夹位置),则会抛出错误。

然后在Finder中开始出现奇怪的事情。无法点击显示文件的finder窗口,无法关闭任何窗口。有时Finder会开始弹出我所说的“阴影框”,这是一个窗口的阴影,但是窗口是不可见的。 Finder无法自行更正,我发现的唯一修复就是快速将用户注销到Mac登录界面并重新登录。如果我没有Finder会变得更糟,最终需要强制重启。

这仅适用于MacOS Sierra(任何子版本)以及通过SMB连接到Synology NAS服务器(任何版本DSM 6+)时。 AFP工作正常,前Sierra Mac OS工作正常,即使通过SMB或AFP连接到旧的Mac OS(Lion)服务器也没有问题。

有人遇到过这个吗?对解决方案的任何想法?

2 个答案:

答案 0 :(得分:0)

未经测试(即时通讯),但您需要将osx路径转换为posix文件:

set theFile to POSIX file (POSIX path of "West Office Files:_Scan Inbox:LAR:1002.pdf")

tell application "Finder" to reveal theFile

答案 1 :(得分:0)

Pat_Morita的帮助下,我找到了问题的解决方案。我在这里发布它是为了帮助使用Synology NAS服务器和Mac的其他人。

set theFile to POSIX file (POSIX path of "/Volumes/West Office Files/_Scan Inbox/LAR/1002.pdf") as alias
tell application "Finder"
    set selection to {}
    select theFile
end tell

错误发生的地方特别是当AppleScript告诉Finder突出显示文件并且文件已经突出显示时。在MacOS Sierra中,当它离开当前选定的文件时,它会在Apple Event中引发错误。因此,将"设置选项添加到{}"在选择下一个文件之前,Finder取消选择突出显示的内容。我还通过本论坛的推荐使用POSIX作为文件路径。

更新---

找到修复程序的错误警报,好吧... sorta。

仍然抛出错误,并且似乎仅在Finder窗口处于Cover Flow视图时发生。所有其他观点都很好。此外,我发现当MacOS Sierra通过AFP连接时也会发生错误,而不仅仅是SMB。我稍微更改了AppleScript:

set theFile to "West Office Files:_Scan Inbox:LAR:1002.pdf" as alias
tell application "Finder"
   set selection to {}
   select file theFile
end tell

据悉,如果文件路径是通过POSIX设置的,Finder并不在意。还添加了"文件"到选择行。