It's trivially done in BT, but assuming you want compatibility with SH (and you don't want a dependency like Nightfall), and if you don't mind removing the doors instead of opening them, I way to do it is:
removeRotatingDoors:
removeclass RotatingDoor
local.door_locations[0] = ( 448 -704 -1346 )
local.door_locations[1] = ( 1718 2680 -996 )
//add locations of other doors here, make sure the origin is inside the door
local.scriptslave = spawn script_object
local.scriptslave setsize ( -16 -16 0 ) ( 16 16 92 )
for (local.i = 0; local.i < local.door_locations.size; local.i++){
local.scriptslave origin local.door_locations[local.i]
local.scriptslave openportal //opens the areaportal if one exists inside the door
}
local.scriptslave delete
end
This is very specific to this map obviously because of the origins, but it does the trick. You just need to find each rotating door in the map and place the origin in that array.
The openportal command is required because many doors in the game are pathways to area portals, and when they close those portals close with them. This is why removing the doors on their own won't work well as you'll see nothing behind them is rendered.
The engine opens and closes the portals for you as you open and close the doors. This naturally means there will be more polys on screen so something else to bear in mind.