Simulando nível de erro

Simulando nível de erro

Meu comando demora muito para ser executado, mas espero que ele termine com erro e, neste caso, quero falhar rapidamente no loop em lote. Como faço para produzir o nível de erro?

Eu tentei um arquivo em lote com exit 1. Porém, ele fecha o script pai independentemente de ser chamado com call raise_error.batou simplesmente raise_error.

Eu também tentei cmd /c exit 1. Isso não fecha o script pai, mas segue if errorlevel 0 goto exite if errorlevel 1 goto exitambos ramificam para sair. Nenhuma saída antecipada é feita em caso de if errorlevel 2 goto exitnúmero maior. Como isso é possível? Quero dizer, como posso ter dois níveis de erro ao mesmo tempo? Os valores de uma única variável não são mutuamente exclusivos?

Como injetar o código de saída do erro?

informação relacionada