Ho appena avuto a che fare con lo stesso problema, e alla fine si è risolto da solo dopo aver apportato quelle che sembrano modifiche casuali al file batch - non capisco perché, ma lo posterò qui nel caso in cui possa aiutare qualcun altro.
Faccio uso dell'utilità SysInternals Pskill e dell'utilità sleep poiché XP Home non include molto in termini di funzionalità della riga di comando.
Questo è il file batch che effettivamente si chiude quando ha finito:
@echo off
start /min C:\Progra~1\PsTools\pskill.exe explorer.exe
start /min C:\Progra~1\PsTools\pskill.exe Powermenu.exe
start /min C:\Progra~1\PsTools\pskill.exe PWGen.exe
start /min C:\Progra~1\PsTools\pskill.exe redshiftgui.exe
start /min C:\Progra~1\PsTools\pskill.exe clipx.exe
sleep 2
start explorer.exe
sleep 3
start C:\Progra~1\ClipX\clipx.exe
sleep 1
start C:\Progra~1\Powermenu\PowerMenu.exe
sleep 1
start /min C:\Progra~1\PWGen\PWGen.exe
sleep 1
start C:\Progra~1\RedshiftGUI\redshiftgui.exe && exit
Se avessi cambiato le ultime linee in questo modo, la finestra cmd rimarrebbe aperta fino a quando non clicco la ‘X’ nell'angolo:
start C:\Progra~1\RedshiftGUI\redshiftgui.exe
sleep 1
start /min C:\Progra~1\PWGen\PWGen.exe && exit
Anche quando provo a invocare pskill per uccidere se stesso, il processo cmd.exe scompare dal Task Manager, e pskill segnala dall'interno del suo cmd. exe che il processo cmd.exe era stato ucciso, ma la finestra cmd.exe
rimaneva ancora in piedi finché non cliccavo la ‘X’ nell'angolo:
start C:\Progra~1\RedshiftGUI\redshiftgui.exe
sleep 1
start /min C:\Progra~1\PWGen\PWGen.exe
sleep 1
C:\Progra~1\PsTools\pskill.exe cmd.exe
Dopo aver aggiunto && exit
ad ogni linea, ho notato che alcune di esse rispondevano e interrompevano l'elaborazione batch, mentre altre no.
Così ho semplicemente messo uno di quelli che rispondono alla fine invece di come l'avevo originariamente.
Come ho detto, non so perché, ma sono contento che sia finita.