**If not defined via UI.**


The answer from https://blender.stackexchange.com/a/24004/123064 used in other answer will work for properties defined by the UI, or with the `"_RNA_UI"` key set. _It is used for adding extra details to the property like min, max description, etc_

It will not pick up on properties defined using

    ob["foo"] = 3

Using `ob.items()` gives us a list of key, value pairs. The key being the name of the prop.

Test script, 

    import bpy

    context = bpy.context
        
    ob = context.object
    # all props with name starting with "Shake_" on context ob
    props = [(k, v) for k, v in ob.items() if k.startswith("Shake_")]

    # all selected apart from ob
    obs = context.selected_objects # selected
    # obs = context.scene.objects[:] # all in scene
    # obs = context.collection.objects[:] # all in context collection...
    if ob in obs:
        obs.remove(ob)
    # set from key value pairs
    for o in obs:
        for k, v in props:
            o[k] = v
        

**Related.**

https://blender.stackexchange.com/questions/143975/how-to-edit-a-custom-property-in-a-python-script/144037

https://blender.stackexchange.com/questions/176328/how-can-i-save-a-dict-in-a-scene-propertygroup/176499

https://blender.stackexchange.com/questions/55397/how-to-change-the-value-of-various-custom-properties-at-the-same-time/55401

https://blender.stackexchange.com/questions/218727/get-all-custom-properties-of-an-object/218754

https://blender.stackexchange.com/questions/54038/when-should-custom-properties-be-used-instead-of-bpy-props/54040

https://blender.stackexchange.com/questions/210472/update-a-custom-data-field-created-with-an-addon/210516