Was ich habe, ist eine Stapeldatei, die ein Wrapper um ein Installationsprogramm ist. Diese Batch-Datei überprüft die vom Installationsprogramm zurückgegebene Fehlerstufe und druckt entsprechend. Mir ist aufgefallen, dass ich bei der Ausführungset ERRORLEVEL=0
In einer Eingabeaufforderung direkt vor dem Start der Batch-Datei (in demselben Befehlsfenster / derselben Umgebung) führt das Installationsprogramm keine Fehler durch, und mein Batch-Skript gibt immer bestanden zurück. Ich gehe davon aus, dass% ERRORLEVEL% eine Variable ist, die von Fenstern definiert wird, die speziell zum Ausdrucken von Fehlern aus Programmen und Skripten verwendet werden, und dass die Verwendung der Variablen in einer Batch-Datei oder etwas anderem auf eigenes Risiko erfolgt, da sie jederzeit geändert werden kann durch einen anderen Prozess. So wie es aussieht, beendet es die Verwendung von errorlevel als Inhaber des Exit-Codes, wenn ich errorlevel in der gegebenen Umgebung setze. Weiß jemand warum das so ist? Für mich ist es einfach seltsames unerwartetes Verhalten. Alle Informationen zu diesem Thema wäre sehr dankbar!
set "errorlevel="