Hi,
Try the script below and let me know how it goes.
Open Applescript Editor (Applications/Utilities/Applescript Editor) copy the script below into a new window and press the Run button. A window to select the folder where the files are stored will appear. Navigate and select the folder containing your files.
As mentioned above you will only recover the title, notes and time of the events from the .icalevent files.
Best wishes
John M
----------------------------------------------
-- John Maisey -- www.nhoj.co.uk -- 21 Feb 2012 --
----------------------------------------------
set {myList, myCount, myFailures, calName} to {{}, 0, 0, "Recovered Events"}
tell application "Finder" to set myPath to choose folder default location (path to desktop)
set theFolders to my getSubFolders(myPath, {myPath})
tell application "System Events"
repeat with myFolder in theFolders
set myFiles to (files of myFolder whose type identifier is "com.apple.ical.bookmark")
repeat with thisFile in myFiles
set end of myList to (value of property list file (POSIX path of thisFile))
end repeat
end repeat
end tell
tell application "iCal"
activate
if name of calendars does not contain calName then make new calendar with properties {name:calName}
repeat with myEvent in myList
try
make new event at the end of events of calendar calName with properties {summary: (|summary| of myEvent), start date: (dueDate of myEvent), end date: ((dueDate of myEvent) + 1 * hours), description: (comment of myEvent), allday event: (fullDay of myEvent)}
set myCount to myCount + 1
on error theErr
set myFailures to myFailures + 1
display dialog theErr
end try
end repeat
display dialog (myCount & " of " & (myCount + myFailures) & " events recovered to iCal") as text buttons {"OK"} default button "OK" with title "data recovery" with icon 1
end tell
on getSubFolders(myPath, mySet)
tell application "System Events"
set myArray to folders of myPath
repeat with myItem in myArray
set mySet to my getSubFolders(myItem, mySet)
set end of mySet to (path of myItem) as alias
end repeat
end tell
return mySet
end getSubFolders