You could add all your IO units to a strategy (it will take a while - you may be able to get creative with the IO tag import though) and then use the memory map commands to update the IP information.
Put all the IO units into a pointer table, and all the IP information into string tables, and loop on through (excel is good to use to build the initialization tables). It would take a while to setup, but it will get them all changed pretty quick and minimize downtime.
The other option, if you are familiar with OptoMMP, would be to build the TCP request manually and send it out to each IO unit - then you wouldn’t need to have all the IO units setup in the strategy. This would be nice if you were having to do something like this all the time, but for a one time thing, I would probably go with the above option.