How to iterate over custom properties?
There are a few ways to use Python to inspect an objects properties, but in this case you're best off using getattr, setattr.

In the case you describe I think the best option is to store a list of properties,
mainly because there isn't a good way to know which properties you created. (Blender doesn't track a properties owner).

for prop_id in prop_names:
    setattr(scene, prop_id, value)


... for completeness, to copy scene_src -&gt; scene_dst

for prop_id in prop_names:
    setattr(scene_dst, prop_id, getattr(scene_src, prop_id))




Note, theres nothing spesific to custom propertes here, this is typical Python and world with any properties (called attributes in Python)