2012-05-22 2 views
0

Я работаю над этим проектом для своей работы, что предполагает резервное копирование выбранной информации с компьютера на один из наших серверов. До сих пор я опубликовал пару вопросов и получил много полезной помощи, поэтому спасибо всем за это! Текущая ошибка, с которой я столкнулся, заключается в попытке дублировать выбор, включающий несколько ошибок. Если я пытаюсь дублировать одну папку, она работает отлично, но несколько просто не работает. Код находится нижеКопировать группу папок с 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

Команда 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 Editor. В вашем случае, это будет выглядеть примерно так:

AppleScript Editor command and output

- который говорит вам все, что вам нужно знать: возвращаемые данные список (он заключен в скобки, { и }) и содержит псевдоним объекты, обозначенные их трактом HFS. Что касается оснований, таких как цикл, то Applescript Language Guide (доступно через меню справки AppleScript Editor) содержит все необходимые детали.

Наконец, я рекомендую использовать Системные события вместо Finder для операции копирования, поскольку он работает быстрее и работает в фоновом режиме.

Смежные вопросы