Criando serviços (services) no Windows a partir de arquivos .bat ou .exe
Primeiro: vamos presumir que você foi forçado a rodar uma solução, serviço, sistema em um servidor Windows (Windows Server). Definitivamente, essa é uma péssima opção.
Segundo: seu cliente, contratante ou empregador não sabe isso, foi convencido (ludibriado) por alguém ou simplesmente o poder do lobby é muito grande e você não é um super-herói (Microsoft, IBM, Software AG, Oracle = “Money Talks“).
Terceiro: guardemos isso para nós, detentores da única verdade possível: “sistemas de verdade/que prestam/realmente profissionais devem sempre rodar em Servidores Linux“.
Quarto: só para completar porque dá muita raiva: O IIS deixou de ser atualizado quando a Internet surgiu (só pode!), começo dos anos 90. Esse Servidor Web para ser ruim precisaria copiar o Apache e pedir desculpas 55 vezes.
Já que a vida nos prega peças (e o Windows Server é uma delas), e você precisa rodar via linha de comando algum serviço (por exemplo com spring-boot) e o console não pode ficar preso na tela, segue uma alternativa excelente que salvará vidas:
Bendita seja a ferramenta NSSM (https://nssm.cc). Seu criador, Iain Patterson merece uma Ponte, um Viaduto ou uma Rodovia inteira. Caso ele um dia venha a Brasília, pagarei duas duplas na Pizza Dom Bosco, com refresco!
Faça o download dessa ferramenta em: https://nssm.cc/download. Até o momento (março de 2019), a última versão estável é a 2.24. É um arquivo ZIP simples de menos de 500 Kb. Escolha a versão do seu Windows (se 32 bits ou 64 bits). Pegue o arquivo na pasta correspondente, copie e cole onde queira usar. Isso mesmo, não precisa instalar.
Quando você abrir o Prompt de Comando (CMD), basta abrir onde foi colado o arquivo “nssm”. E é aí que a mágica acontece:
Para criar um novo serviço (service), basta digitar o comando:
nssm install “nome do serviço”
Automaticamente, uma tela será aberta:

Basta indicar em “Path” o local onde seu .bat ou .exe está e clicar em Install Service.
Se você verificar os serviços do Windows, seu novo serviço já estará lá. O Prompt de Comando não fica preso. Ou seja, basta configurar seu serviço para iniciar sempre que o servidor for reiniciado.
É possível iniciar e parar o serviço também via linha de comando com nssm:
nssm start “nome do serviço”
nssm stop “nome do serviço”
É possível remover também o serviço criado:
nssm remove “nome do serviço”
É possível verificar o status também do serviço:
nssm status “nome do serviço”
É possível verificar outros comandos em https://nssm.cc/commands.
Fonte: https://petrim.com.br/
