Kort svar: du måste kolla om "aFile" är en mapp och i så fall hoppa in i en ny "repeat with aFile..."-snurra för varje objekt i den mappen. Det löser du nog enklast genom att skapa två handlers till, en för att hantera mappar och en för att hantera filer.
Gömd på Apples hemsida finns denna samling med AppleScript-snuttar. Kolla in "Finder Droplets" - där finns exempel på script som hanterar det du är ute efter.
Så här skulle det kunna fungera - med reservation för att jag inte testat, men nåt får du väl göra själv ;):
property extension_list : {rar}
on adding folder items to this_folder after receiving added_items
repeat with i from 1 to the count of added_items
set this_item to (item i of added_items)
set the item_info to info for this_item
if folder of the item_info is true then
process_folder(this_item)
else if (alias of the item_info is false) and ¬
(the name extension of the item_info is in the extension_list) then
process_item(this_item)
end if
end repeat
end adding folder items to
-- this sub-routine processes folders
on process_folder(this_folder)
set these_items to list folder this_folder without invisibles
repeat with i from 1 to the count of these_items
set this_item to alias ((this_folder as text) & (item i of these_items))
set the item_info to info for this_item
if folder of the item_info is true then
process_folder(this_item)
else if (alias of the item_info is false) and ¬
(the name extension of the item_info is in the extension_list) then
process_item(this_item)
end if
end repeat
end process_folde
- this sub-routine processes files
on process_item(this_item)
tell application "Finder" to open this_item
end process_item