I had an situation last week where I needed to add a experience editor button to all components and we have 63 of them. So Instead of doing this manually I decided to see if I can do this easily with SPE.
The other thing I had to consider is that most renderings had some custom experience editor buttons already, so I needed to make sure these were maintained.
Also I only wanted to add the button if there was a datasource set as it is only relevent to components with buttons.
It turns out this wasn’t that tricky and this same script could be used to populate any multi-list field, such as auto-setting the compatible renderings:
Show Me The Script Already
Hopefully someone else will find this useful too.