我们有一个samba共享,我想用AppleScript复制文件夹。这就是我已经拥有的(装配工程):
mount volume "smb://samba.com/e_18_data11$"
delay 3
set sourcefolder to ("smb://samba.com/e_18_data11$/e_18_data11$/folder1/folder2" as POSIX file)
set localfolder to ("/Users/username/Dropbox/Test" as POSIX file)
tell application "Finder" to duplicate sourcefolder to localfolder
这给了我这个错误:
the routine can not edit objects of this class." number -10010
我尝试并将SO上已有的许多解决方案结合起来,例如: this solution
- OS X 10.9
答案 0 :(得分:2)
可能是sourcefolder
规范错了。
我想你可以使用卷名而不是“smb://”。
set sourcefolder to ("/Volumes/7samba.com/e_18_data11$/e_18_data11$/folder1/folder2" as POSIX file)
(如果已安装的卷名为“7samba.com”)
提示:将实际sourcefolder
从Finder
拖到AppleScript
。它应该将路径粘贴到脚本中。将该路径用于sourcefolder
。
更多:
你得到的错误是:
Mac OS error -10010 (telBadHTypeErr): bad hook type specified
我测试了它(带有两个本地文件夹)以查看脚本是否可行。它确实工作并复制了文件夹。
您可以(或者应该)将关键代码打包到try块中,如下所示:
try
duplicate sourcefolder to localfolder
on error the error_message number the error_number
display dialog "Error: " & the error_number & ". " & the error_message buttons {"OK"} default button 1
end try
通过这种方式,您可以检查错误并做出反应。
<强>增加:强>
可能你可以检查这样的存在:
tell application "Finder"
set aBoolean1 to get (exists sourcefolder)
set aBoolean2 to get (exists localfolder)
end tell
log aBoolean1
log aBoolean2
两个bool必须是YES