Seu arquivo de lote é chamado shutdown.bat
? Em caso afirmativo, o script não chamará a reinicialização do sistema, o nome faz com que o script faça um loop.
Tente renomear seu arquivo em lotes para outra coisa ou, como um bom geek, mudar para o PowerShell. Se decidir mudar, você precisará do comando Restart-Computer
.