This Google Apps Script runs in a spreadsheet, where it prompts the user for the identity of two calendars, and a range of dates, then copies the corresponding events from one calendar to the other.
This script is incomplete, ignoring a number of event attributes. (Feel free to enhance it, if you wish!) There are also some known issues:
- All Day Events aren't really all day events. The createAllDayEvent() method should take care of this, but doesn't. Google Bug.
- Recurrence isn't supported. (You can't find out the recurrence of existing events, so cannot recreate it.)