wie sicher ist NEQ 0

CED999

Lieutenant
Dabei seit
Juni 2011
Beiträge
852
Hi Leute,

ich such dazu schon eine Zeit aber teilweise verunsichert mich was ich im Inet dazu finde. Ist es "sicher" den Operator:
%errorlevel% NEQ 0 für die folgenden Progs zu nehmen:

chkdsk
sfc/verifyonly


Sind sonst irgendwelche Probleme mit %errorlevel% NEQ 0 vs if errorlevel 1 unter Win7 zu erwarten?

Vom Prinzip möchte ich nur auf Fehler checken was ja Rückgabewert 0 sein sollte. Also wäre "NEQ 0" ja besser/sicherer als "if errolevel 1" ich bin mir nur unsicher ob das sicherer ist :D
 

AndrewPoison

Admiral
Dabei seit
Jan. 2005
Beiträge
8.230
Naja, NEQ 0 triggert eben auch bei allen anderen Rückgabewerten, nicht nur bei "1", wie es deine aktuelle Errorlevel-Abfrage macht. Du deckst damit einfach mehr Fälle ab.

Du könntest alternativ IF NOT ERRORLEVEL 0 verwenden, kommt aufs gleiche raus.
 
Zuletzt bearbeitet:

SoDaTierchen

Captain
Dabei seit
Feb. 2011
Beiträge
3.160
Für alle positiven Werte sind die statements identisch, bei negativen Werten schlägt "%errorlevel% neq 0" trotzdem an während "if errorlevel 1" stumm bleibt. Kommt halt darauf an ob die beiden Funktionen negative werte setzen. Auch ist die Frage ob negative Errorcodes einen Fehler bedeuten, oder ob die nur als Statuscodes verwendet werden. Wär mir aber nicht bekannt, insofern ist beides identisch.

AndrewPoison: Gut gedacht, aber errorlevel in "if errorlevel 1" ist nicht der parameter sondern eine funktion. und die gibt immer wahr zurück, wenn der %errorlevel% größer oder gleich dem argument ist. 1 ist hier das argument

Nachtrag: Falls es dem TE nicht bekannt war, NEQ bedeutet so viel wir "nicht gleich". Kommt von "Not EQual"
 

AndrewPoison

Admiral
Dabei seit
Jan. 2005
Beiträge
8.230
Aaarg ich habe schon zu lange nicht mehr ge-batcht :D High-Level-Programmierung und ihre Opfer :D
 

CED999

Lieutenant
Ersteller dieses Themas
Dabei seit
Juni 2011
Beiträge
852
Danke euch für die Hinweise aber das Thema hat sich gerade durch ein praktischen Test etwas erledigt. Ein Test hat Ergeben, das auch wenn SFC Integritätsverletzungen feststellt es einen %errorlevel% von 0 ausgibt:o
damit ist das eh alles hinfällig...
 
Top