Eu deparei com isso com um EXE que parecia lançar ^ C para o lote pai na saída, causando o prompt "Terminar trabalho em lote", mesmo em uma saída limpa.
A solução que escolhi usar foi executar o lote com "Iniciar", semelhante a outras respostas, mas em um prompt do PowerShell (ou através do método interpretador do PowerShell do CMD, se você escolher).
Agora é 2018 e, no Windows 10, a Microsoft começou a substituir o CMD com o PowerShell como prompt de comando preferido, por isso está prontamente disponível na GUI, por padrão.
Start
é um alias para Start-Process .
Quando executado, ele é iniciado e retornado. Portanto, quando você interrompe o processo iniciado, não há um prompt "Terminar trabalho em lote".
Por padrão, ele não espera, portanto, nenhum argumento adicional além do comando e seus argumentos são necessários.
Usando start mything.exe -mythings -arguments
no meu lote funcionou perfeitamente.
No PowerShell, os scripts devem ser precedidos pelo caminho para serem iniciados, portanto, eu executo meu arquivo em lotes como .\host.bat
.