Wenn ein externes Kommando (d.h. ein Programm) einen Exit-Code hat , wird dessen Wert in der Variablen ? gespeichert, wenn das Programm beendet wird. Außerdem setzen einige interne Befehle, z. B. DIR - um Microsofts CMD zu emulieren - diese Variable auf denselben Wert wie die Variable _?.
Um sicherzustellen, dass Sie den Exit-Code des zu prüfenden externen Kommandos und nicht den eines nachfolgenden internen oder externen Kommandos verwenden , ist es am besten, den Wert von ? sofort nach Beendigung des betreffenden externen Kommandos in einer anderen Variablen zu speichern und stattdessen diese Variable zu verwenden. Wir empfehlen auch dringend, bei internen Kommandos stattdessen die Variable _? abzufragen .
Nicht alle Programme geben einen Exit-Code zurück. Wenn ein Programm nicht explizit einen Exit-Code zurückgibt, istder Wert von %? undefiniert.
Alternativer Name: ERRORLEVEL.
Siehe auch: _?