Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/macos/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Macos 马科斯塞拉酒店;中小企业;天气学;Applescript崩溃查找器_Macos_Applescript_Macos Sierra_Smb_Synology - Fatal编程技术网

Macos 马科斯塞拉酒店;中小企业;天气学;Applescript崩溃查找器

Macos 马科斯塞拉酒店;中小企业;天气学;Applescript崩溃查找器,macos,applescript,macos-sierra,smb,synology,Macos,Applescript,Macos Sierra,Smb,Synology,我发现了一个我不知道如何修复的bug。所以我有一个Applescript,它告诉mac在一个已经打开的Finder窗口中高亮显示某个文件,该窗口连接到Synology NAS服务器上的共享文件夹。以下是应用脚本: set theFile to "West Office Files:_Scan Inbox:LAR:1002.pdf" tell application "Finder" reveal document file theFile end tell 弹出一个错误,提示Finder出现错

我发现了一个我不知道如何修复的bug。所以我有一个Applescript,它告诉mac在一个已经打开的Finder窗口中高亮显示某个文件,该窗口连接到Synology NAS服务器上的共享文件夹。以下是应用脚本:

set theFile to "West Office Files:_Scan Inbox:LAR:1002.pdf"
tell application "Finder"
reveal document file theFile
end tell
弹出一个错误,提示Finder出现错误:文档文件“West Office Files:\u Scan Inbox:LAR:1002.pdf”无法理解“显示”消息。我也尝试过使用“选择”而不是“显示”,问题仍然存在。但是,我刚刚发现它在第一次运行脚本时不会抛出错误。但如果我再次运行它以选择不同的文件(但在相同的文件夹位置),它就会抛出错误

然后奇怪的事情开始在Finder中发生。无法单击显示文件的finder窗口,无法关闭任何窗口。有时Finder会弹出我称之为“阴影盒”的窗口阴影,但窗口是不可见的。Finder无法自行更正,我找到的唯一修复方法是快速将用户注销到Mac登录屏幕并重新登录。如果我不这样做,Finder将变得更糟,最终需要强制重新启动

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

有人经历过这种情况吗?有解决方案的想法吗?

未经测试(移动im),但您需要将osx路径转换为posix文件:

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

tell application "Finder" to reveal theFile
在他的帮助下,我找到了这个问题的解决办法。我在这里发布它是为了帮助其他使用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告诉查找程序高亮显示一个文件,并且已经高亮显示了一个文件时。在MacOS Sierra中,当它离开当前选定的文件时,它会在Apple事件中抛出一个错误。因此,在“将选择集添加到{}”中,Finder会在选择下一个文件之前取消选择突出显示的内容。根据本论坛的推荐,我还使用POSIX作为文件路径

更新---

找到解决方案时出现错误警报,嗯。。。索塔

错误仍然被抛出,并且似乎只有当Finder窗口位于CoverFlow视图中时才会发生。所有其他视图都可以正常工作。此外,我还发现,当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

了解到Finder并不真正关心文件路径是否通过POSIX设置。还将“文件”添加到选择行。

感谢您的回复。它无法修复错误。然而,这次它抛出了一个不同的错误。也许这有助于缩小正在发生的事情的范围。错误是:italic_Finder出现错误:“AppleEvent处理程序失败。”数字-10000_italic我不习惯这个论坛如何处理点击返回键的问题。错误是:Finder得到一个错误:“AppleEvent处理程序失败。”数字-10000也很有趣。我尝试通过SMB连接到两个不同的Synology服务器。我运行了指向其中一个服务器的脚本,没有错误。指向第二台服务器运行,没有错误。指向第一台服务器再次运行,出现错误。我认为这看起来像是一个概论问题。没有更多的信息,我什么都不能说。尝试记录路径值,并查看它们是否在formatFYI中更改。我最初尝试了你的脚本,没有任何更改。通过进一步实验,我将其更改为以下内容:
将文件设置为POSIX文件(POSIX路径为“/Volumes/West Office Files/_scaninbox/LAR/1002.pdf”)作为别名
。日志的结果是
(*alias West Office文件:_Scan收件箱:LAR:1002.pdf*)
Woah。只是注意到一些新的东西。如果在第一次运行脚本后,它会运行,并选择(显示)一个文件。然后,我通过在窗口中单击鼠标光标手动取消选择文件,但不在文件上单击鼠标光标。然后我再次运行脚本,在同一文件夹中选择不同的文件,没有错误!因此,当它离开当前选定的文件时,会发生此错误。有没有办法通过Applescript在Finder窗口中取消选择文件?