Ho un file batch che è un wrapper attorno a un programma di installazione. Questo file batch controlla il livello di errore restituito dal programma di installazione e stampa di conseguenza.
Ho notato che se eseguo set ERRORLEVEL=0
un prompt dei comandi subito prima di dare il via al file batch (nella stessa finestra di comando / ambiente), il programma di installazione non sbaglia mai con il livello di errore e il mio script batch restituisce sempre passato. Suppongo che %ERRORLEVEL%
sia una variabile definita da Windows e sia utilizzata specificamente per stampare errori da programmi e script e che l'utilizzo della variabile in un file batch o qualcos'altro sarebbe "a proprio rischio" perché potrebbe essere modificato in qualsiasi momento da un altro processo.
Da quello che sembra, quando imposto il livello di errore in un determinato ambiente, termina in qualche modo l'uso del livello di errore come titolare del codice di uscita. qualcuno sà perche è cosi? Per me è solo uno strano comportamento inaspettato. Qualsiasi informazione sull'argomento sarebbe molto apprezzata!
&&
o||
.