I do not have mentioned programs to test but that second line start /wait says:
Start application and wait for it to terminate, (visible when you type start /? in command prompt)
which I think causes the launcher to be tied to existance of the batch file.
it is good to hear that the working directory trick worked for the VBet though.
windows has alternatives to start, some of which you have already tested but I'll list them anyway.
cmd /c
call
first though, you would need to identify the programs that close when closing the batch file, are they always same? if so, you could try changing on how you run them to either cmd /c or call
if you are using cmd /c, you need to try using it BEFORE the start and replacing the start
cmd /c start "PokerKing.exe" "C:\PokerKing\PokerKing.exe"
cmd /c "C:\PokerKing\PokerKing.exe"
call "C:\PokerKing\PokerKing.exe"
the lack of exiting has alternatives but I'd think that any of them would also act same as when you manually close it, closes some of the run programs so handling that first is the key.
possible extra ways to close it:
add second/third line of exit in the end, in case batch thinks it has multiple layers of inside each other
for this exit /b should also work, so
exit /b
exit
might or might not work.
if you do not have any other batch files running, you could use taskkill as last line to simply kill cmd.exe's
taskkill /im cmd.exe /f
that is NOT advisable though if you have any other batch files or command prompts open, it will forcefully close them all.
another, possibly due to bug way of closing stuff is to have following line as the last one:
move nul 2>&0
That is about all I can think of. Testing on batch files is tricky since different programs work differently and without same set, it is hard or impossible to get same results.
If goal is to launch those when you log into windows though, you could use windows scheduler to start them on login, it would circumvent the batch file need and allow you to run them.
After further testing I came to this best result after adding a line one by one and seeing if it causes any issues:
@Echo off
cmd /c start "Launcher.exe" "C:\Program Files (x86)\Pokerdom.com\Launcher.exe"
cmd /c "C:\Program Files (x86)\Pokerdom.com\Launcher.exe"
call "C:\Program Files (x86)\Pokerdom.com\Launcher.exe"
cmd /c start "Lobby.exe" "C:\Users\Ray\AppData\Roaming\NewGioco.it\Lobby.exe"
cmd /c "C:\Users\Ray\AppData\Roaming\NewGioco.it\Lobby.exe"
call "C:\Users\Ray\AppData\Roaming\NewGioco.it\Lobby.exe"
cmd /c start "launcher.exe" "C:\Program Files (x86)\GGPoker\launcher.exe"
cmd /c "C:\Program Files (x86)\GGPoker\launcher.exe"
call "C:\Program Files (x86)\GGPoker\launcher.exe"
cmd /c start "Winamax.exe" "C:\Users\Ray\AppData\Local\Programs\winamax\Winamax.exe"
cmd /c "C:\Users\Ray\AppData\Local\Programs\winamax\Winamax.exe"
call "C:\Users\Ray\AppData\Local\Programs\winamax\Winamax.exe"
cmd /c start "PartyGaming.exe" "C:\Programs\PartyGaming\PartyGaming.exe" -P=PartyPoker
cmd /c "C:\Programs\PartyGaming\PartyGaming.exe" -P=PartyPoker
call "C:\Programs\PartyGaming\PartyGaming.exe" -P=PartyPoker
start "casino.exe" "C:\Users\Ray\AppData\Local\win2day Poker\casino.exe"
start "888poker.exe" "C:\Users\Ray\AppData\Roaming\Poker\PacificPoker\bin\888poker.exe"
start "JUICYPoker.exe" "C:\Program Files (x86)\Juicy Stakes 2.0\JUICYPoker.exe"
start "PokerKing.exe" "C:\PokerKing\PokerKing.exe"
start "casino.exe" "C:\Users\Ray\AppData\Local\Betfair Poker\casino.exe"
start "IgnitionCasino.exe" "C:\Program Files (x86)\Ignition Casino Poker\IgnitionCasino.exe"
cd "C:\Users\Ray\AppData\Local\VBetPoker"
start VBet.exe
start "SwCPoker.exe" "C:\Users\Ray\AppData\Local\SwC Poker\SwCPoker.exe"
exit
All programs open and the batch file closes basically right away. AWESOME!
Here is one issue:
If I add this program (start "Launcher.exe" "C:\Program Files (x86)\TigerGaming\Launcher.exe") then we are back at the same problem as before. The batch file stays open but at least all programs are open. If I close the batch file, the only program that closes (which is always the same one) is PokerKing.
---------------------
If I add the command that you suggest to PokerKing like this
cmd /c start "PokerKing.exe" "C:\PokerKing\PokerKing.exe"
cmd /c "C:\PokerKing\PokerKing.exe"
call "C:\PokerKing\PokerKing.exe"
then the programs starts three times or so which is not ideal.
-----------------------
If I only isolate TigerGaming and PokerKing like this
@Echo off
start "PokerKing.exe" "C:\PokerKing\PokerKing.exe"
start "Launcher.exe" "C:\Program Files (x86)\TigerGaming\Launcher.exe"
exit
Then it also works perfectly (batch file closing).
---------------------
If I take my whole working script with the program that causes issues (TigerGaming) and add move nul 2>&0 as the last line, nothing changes.
---------------------
If I add
exit /b
exit
as my last two lines, it prompts me to say Y or N in CMD for some reason which is more click/type work which I want to avoid.
Any suggestions? For now I left TigerGaming out of the script and all works well but I'd love to have it in the script if we know what causes the issue.
And idea?