The AI controlling the army is essentially what is achieved by using the auto-resolve system. there's a command:
Code:
Identifier: unit_group_enable_automation
Parameters: group_label true/false
Description: Sets or unsets unit group automation
Sample use: unit_group_enable_automation
Class: UNIT_GROUP_ENABLE_AUTOMATION
Implemented: Yes
Author: Robbie
Maybe using that command along with the I_InBattle Condition and the BattleConflictPhaseCommenced event, in the campaign_script, you could get it to automate the groups once the player clicks Start Battle. I don't know what the group_label parameter is filled with though, or if that command means what I'm thinking it does, since I don't generally script battle map functions. If it does work, you'd also need to apply an if condition to check for the commanding general. I'm not sure if you can use IsFactionLeader directly in this context, or if you would need to run a script to add to a counter for faction leaders, and then check for the counter to initiate the in-battle script.
Cheers,
Augustus