使用Applescript复制文件夹组

时间:2012-05-22 15:06:13

标签: applescript

我一直致力于这个项目的工作,包括将选定的信息从计算机备份到我们的服务器之一。到目前为止,我已经发布了一些问题并得到了很多有价值的帮助,所以感谢大家!我遇到的当前错误是在尝试复制涉及多个错误的选择时。如果我尝试复制一个文件夹它可以正常工作,但多个只是没有工作。代码在

之下
display dialog "Please enter your augnet username" default answer "username"
set username to (text returned of result)

set server to "smb://orgs.augsburg.edu"

try
    mount volume server
on error
    display dialog "Either you are already connected, or there was a problem reaching the server. Please disconnect and try again."
end try

delay 3

tell application "Finder"
    set backup to make new folder at folder "ORGS:Information Technology:www:kb_images:Migration Testing:" with properties {name:username}
end tell

set theSelection to choose folder with prompt "Please select what you would like to transfer" with multiple selections allowed

tell application "Finder" to duplicate folder theSelection to backup

非常感谢任何人帮助我参与多个文件夹的选择!

1 个答案:

答案 0 :(得分:1)

choose folder … with multiple selections allowed命令将返回指向文件夹的别名对象列表(当然,除非取消)。只需使用repeat循环遍历该列表:

set selectedFolders to choose folder with prompt "Yadda" with multiple selections allowed
repeat with selectedFolder in selectedFolders
    -- do something with the folder
end repeat

一般来说,如果对命令返回的内容有疑问,只需执行它并查看AppleScript编辑器结果窗口中的输出。在你的情况下,它看起来像这样:

AppleScript Editor command and output

- 它告诉您需要知道的全部内容:返回的数据是一个列表(它括在括号中,{})并包含 alias 对象表示的他们的HFS路径。至于循环等基础知识,Applescript Language Guide(可通过AppleScript编辑器的帮助菜单访问)具有您需要的所有详细信息。

最后,我建议使用系统事件代替Finder进行复制操作,因为它更快,并在后台运行。