将装入的文件夹复制到本地文件

时间:2013-11-20 17:11:45

标签: applescript mount finder

我们有一个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

1 个答案:

答案 0 :(得分:2)

可能是sourcefolder规范错了。 我想你可以使用卷名而不是“smb://”。

set sourcefolder to ("/Volumes/7samba.com/e_18_data11$/e_18_data11$/folder1/folder2" as POSIX file)

(如果已安装的卷名为“7samba.com”)


提示:将实际sourcefolderFinder拖到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