How can I duplicate and position the same prefab as childs for many other objects ?

he first two I positioned and rotated manually.

I added manually the DoorShieldFXLocked Variant to each Door_Left and Door_Right as child and positioned and rotated the shields to be right over the Door_Left and Door_Right.

But I have about 30 Door_Left and Door_Right objects I want to add the shield to them as childs position and rotation. Is there a way to do it automatic ? I don’t want to duplicate or create the root of each door left and right Wall_Door_Long_01 but to do add the shield to each door left and door right.

I want to use a editor script to make the changes via editor.
And I want to save the changes.
And for now I don’t want to destroy all the Door_Left and Door_Right just to place the DoorShieldFXLocked at all the Door_Left and Door_Right positions and rotations and scaling.

How can I create a editor script that will get all the Door_Left and Door_Right infos and then to create and place the DoorShieldFXLocked at the infos and save the changes ?

try something like this:

public class AddDoors: EditorWindow
{
[MenuItem("Doors/CreateDoors")]
    static void Init()
    {
         //find all doors in scene
         List<GameObject> doors = findObjectsWithTag("DoorTag"); //or look for objects by name
         foreach (GameObject door in doors)
         {
         if (checkIfDoorNeedsAWindow (loop children, check for name/component to see if door exists))
             {
                 Gameobject temp = new GameObject();
                 temp.transform.parent =   door;
                 temp.name = NameThemInAWayYouCanFindThemAgain;
                 temp.transform.localPosition = xxxxxx;
              } 
          }
   }
   
    void OnGUI()
    {
       Guilayout.Label("doors added to the scene");
    }
}

Above code is written from memory so lot of syntax is probbally wrong.
There is also a lot of psuedo code in here but u should be able to make something of it i hope.