2012-03-25 19 views
1

Ich denke, ich verstehe nicht, wie die Windows-Eingabeaufforderung Gleichheit auswertet. Ich habe einen Stapel, der wie folgt aussieht:Eingabeaufforderung erkennt keine Gleichheit

@echo off 
set test=12 
if (%test% EQU 12) echo true 
pause 

Dieses seltsamerweise nicht wahr drucken. Kann mir jemand sagen, warum das so ist? Klammern

Antwort

6

entfernen und es wird funktionieren:

@echo off 
set test=12 
if %test% EQU 12 echo true 
pause 

IF nicht Klammern Bedingungen verwenden, nur if /? laufen und Sie erhalten Informationen auf seine Syntax erhalten.

+0

Wow! Ich hätte nicht gedacht, dass es so einfach wäre! Viele andere Sprachen, die ich gewohnt bin, Klammern um die Bedingung zu haben. – LastStar007

+1

@ LastStar007: In diesem Fall nehmen Klammern an dem Vergleich teil, d. H. Sie haben tatsächlich (nach Auswertung) "(12' bis' 12) "verglichen, und die beiden waren natürlich verschiedene Dinge. –