0

我一直在为我的工作从事这个项目,其中涉及将选定的信息从计算机备份到我们的一台服务器。到目前为止,我已经发布了几个问题并得到了很多宝贵的帮助,所以感谢大家!我遇到的当前错误是尝试复制涉及多个错误的选择时。如果我尝试复制一个文件夹,它就可以正常工作,但多个文件夹就不太好用了。代码如下

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

任何人都可以给我任何涉及多个文件夹选择的帮助,非常感谢!

4

1 回答 1

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 编辑器命令和输出

– 它告诉你所有你需要知道的:返回的数据是一个列表(它用大括号{和括起来})并包含由它们的 HFS 路径表示的别名对象。至于循环等基础知识,Applescript 语言指南(可通过 AppleScript 编辑器的帮助菜单访问)包含您需要的所有详细信息。

最后,我建议使用System Events而不是 Finder 进行复制操作,因为它更快并且在后台运行。

于 2012-05-22T15:33:39.773 回答