Change multiple textures projection at once

I have several textures nodes, diffuse, ao, roughness and so on.
I want to switch from flat to box for all of them at once. Is there a way to do it? Right now I’m selecting each node and manually switching from flat to box, but it takes time and if I have more textures it takes a lot.
Hope there’s a quick way.

Node wrangler has a batch change, but I’m not sure its able to do this.
Other than a scripting approach, there is no way I know of to do it.
Given the limitation of builtin box mapping (can’t rotate easily), surely you can’t have that many materials where this is used and useful?

Thanks, @CarlG

I’m curious, what limitations are you referring to?
I use box mapping all the time in C4D and it works great. Is it different in Blender?

The simplest way might be with python…
Add a new text file in the Text editor, paste the following and hit ‘Run Script’:

mat_name = 'Material'   # the name of the material you want to change

mat = bpy.data.materials[mat_name]
for node in mat.node_tree.nodes:
    if node.type == "TEX_IMAGE":
        node.projection = "BOX"

Can’t do any rotation to the coordinate system without breaking the texture.
Can’t rotate a referred empty.
Can’t rotate using a mapping node.
Can’t rotate using the texture nodes built-in mapping.

You have to download a “triplanar mapping with blend” node group. This is so complex it can’t be used in Eevee. It’s also fairly slow to render, since you tend to use it for multiple textures.