Reading the OP's request I'm wondering why nobody has given the answer yet.
I've been doing the same thing in batch files for somewhere around 30 years, or so.
This would be my solution:
@Echo off
cls
call program1
call program2
call program3
Rem this batch file will close after program3 runs.The rule for the "Call" command is that it will maintain the entire batch file in memory till the last program being called closes.
No line can execute till the previous line has completed.
Without the call command, the batch file would close when the first program runs and the subsequent programs would never run at all.
I do hope this helps.
PS: Or more specifically......
@Echo off
cls
Call "C:\Program Files\GIMP-2.0\bin\gimp-2.6.exe"
Call "C:\Program Files\iTunes\iTunes.exe"
Call "C:\Program Files\Corel\Corel Paint Shop Pro Photo XI\Corel Paint Shop Pro Photo.exe"
Call "C:\Program Files\CoreFTP\coreftp.exe"