Convert content field from local to shared?

We have a couple fields that were originally created as local fields in a content type. On further review of our content types, these fields really should have used shared fields. The problem is, there are content items created using this content type already.

I’ve considered just adding the shared field to the content type and then copying the data from one field to the other. Is there a recommended means of converting content data from one field to another? Is there a way to make that happen without having to open every content item in the content editor and re-save it?

While I’m thinking about it, the question has also come up as to whether there is a way to convert an existing content item from one content type to another?

All advice is appreciated. Thanks.

There’s no automated way to do either of these conversions.

In 5.x or a 6.x system with XSL assemblers (I don’t know what version you are currently running), not only do the content types have to be converted, but the Variant queries must be changed as well. (This is not an issue with 6.x Velocity Templates).

Converting an item to a new type requires creating a new item and removing the old one: there’s really no other way.