Me encontré con esto con un EXE que parecía arrojar ^ C al lote principal al salir, provocando el mensaje "Terminar trabajo por lotes" incluso en una salida limpia.
La solución que elegí usar fue ejecutar el lote con "Inicio", similar a otras respuestas, pero desde un indicador de PowerShell (o mediante el método de intérprete de PowerShell de CMD, si lo desea).
Ahora es 2018, y en Windows 10 Microsoft ha comenzado a suplantar CMD con PowerShell como el símbolo del sistema preferido, por lo que está disponible de forma predeterminada en la GUI.
Start
es un alias para Start-Process .
Cuando se ejecuta, solo se inicia y regresa. Por lo tanto, cuando detiene el proceso iniciado, no aparece el mensaje "Finalizar trabajo por lotes".
Por defecto, no espera, por lo que no se requieren argumentos adicionales más allá del comando y sus argumentos.
El uso start mything.exe -mythings -arguments
en mi lote funcionó perfectamente.
En PowerShell, los scripts deben estar precedidos por su ruta de acceso para que se ejecuten, por lo que ejecuto mi archivo por lotes como .\host.bat
.