Hah! I discovered a dirty hack to get it working by issuing just one console command .
I created two batch files, the first which adds all the equipment to the player's inventory, then I call a second batch file from the first which upgrades everything - and it works perfectly.
Here's the contents of the files in case anyone else needs this info:
I named the first file 0-add-uniform.txt -
player.additem 187972 1; /* Synth left leg added....
player.additem 187970 1; /* Synth right leg added....
player.additem 187974 1; /* Synth breast plate added....
player.additem 18796C 1; /* Synth left arm added....
player.additem 18796E 1; /* Synth right arm added....
player.additem 18796A 1; /* Synth helmet added....
player.additem 9983B 1; /* Laser pistol added....
....and the second 1-upgrade-uniform.txt -
player.cf "ObjectReference.AttachModToInventoryItem" 187972 1F1DF9; /* Acrobat's - 50% reduction in fall damage
player.cf "ObjectReference.AttachModToInventoryItem" 187970 1F1DF9; /* Acrobat's - 50% reduction in fall damage
player.cf "ObjectReference.AttachModToInventoryItem" 187974 1F4D18; /* Chameleon - invisible when crouching
player.cf "ObjectReference.AttachModToInventoryItem" 18796C 1F2D3D; /* Martyr's - Slows time when health less than 20%
player.cf "ObjectReference.AttachModToInventoryItem" 18796E 1F57E4; /* Cavalier's - Reduces damage by 15% while sprinting or blocking
player.cf "ObjectReference.AttachModToInventoryItem" 18796A 1F1C2F; /* Sprinter's - Increases speed by 10%
player.cf "ObjectReference.AttachModToInventoryItem" 9983B 0300da99; /* Deadeye - slows down time when aiming
You can of course name them whatever you want as long as you change the called file in the second script.
I run the entire operation by simply issuing one command -
...and it all runs automatically.
I've been working on settlement cleanup scripts over the last month or so, and I'm hoping that this solution can also be used there. I was having problems at the Starlight Drive-in diner, I wanted to delete the trashy counter top pieces and insert clean versions in their places. It never worked properly, but using this external batch file call trick might be able to fix that - we'll see.
Kind regards, and keep on pushing the boundaries folks .