我正在使用 Automator(在运行 OS 10.10 的 Mac 上)在登录时挂载三个 SMB 共享。效果很好。但是,有时一两个共享可能会断开连接。当我再次运行自定义 Automator 应用程序时(通过我放置在扩展坞中的图标),我收到一个错误对话框(因为我尝试安装的部分[或全部] SMB 共享已安装)。
对话框图: http://s30.postimg.org/m8rud8d1d/Screen_Shot_2014_11_05_at_10_38_04_AM.png
如何阻止这种情况出现?
另外,假设我的 3 个共享中的 2 个已安装,并且我正在尝试使用我制作的自定义 Automator 应用程序来安装第三个也是最后一个共享;不会的。因此,我必须手动断开其他 2 个共享,然后运行我的自定义 Automator 应用程序,所有 3 个共享将按预期安装。
Automator 中有没有办法检查共享是否已安装?如果是这样,请跳过安装该共享?
当我添加 获取指定服务器,然后添加连接到服务器 Automator 操作到我的工作流程时,我遇到了同样的问题,我假设您一直在使用同一对连接到 Samba 共享。
如果是这种情况,您可能需要选择使用一段 AppleScript 代码的 Run AppleScript 操作。此代码片段适用于我的 OS X 10.10.3:
on run {input, parameters}
tell application "Finder"
try
mount volume "smb://Guest:@<hostname>/<share>/"
delay 1
end try
end tell
return input
end run
此操作不会对现有工作流程造成任何问题,因为它将输入以当前形式无缝传递到输出。
如果您需要更强大的解决方案,例如在尝试连接到网络共享之前检查网络共享是否确实可用,您可能需要参考 Apple StackExchange 上的这个答案 以及 Jason 提供的上述代码的扩展且更具防御性的版本。