To mass change/update your products, you export to excel (or csv if your prefer). You select the option: Update data (import-compatible export), and Odoo add the external ID. If you look at the meta data for a product record, you can see it as XML-ID, I have learnt.
There is a big BUT! Assume your products has been manually created in Odoo, and not created by import: If you do export from menu option: Inventory->Masterdata->Products the "External ID" looks like this when you export: .1720034. When I import, this value is not recognized, and the result is that new records are created. Bad.
The trick I discovered this morning: Go to Inventory->Masterdata->Product Variants. Then the "External ID" or XML ID looks something like this: "__export__.product_product_88_93ee1d10". You can see the difference if you look at Metadata.
According to the Help file for import of products: If the products has been manually created, Odoo will create a new unique External Id when you export. So my experience is that for products this only happens if you export from the Product variants list.
It took me about 4 hours of frustration to discover the difference, so hope it might help somebody...
This app - https://apps.odoo.com/apps/modules/12.0/product_management/ - migth be also of use to similar goals