2016-07-19 10 views
0

Ich habe einen Windows-Batch-Befehl in jenkins:Windows-Batch-Befehl "==" Operator seltsames Verhalten

set /p Build=<version.txt 
IF ("%Build%"=="%VERSION%") (echo version doesn't match) 
IF NOT ("%Build%"=="%VERSION%") (echo version match) 

wo Build- und Versions aus dem Build bekommen. Der Ausgang des oben ist

w:\ce-billing-release>set /p Build= 0<version.txt 
w:\ce-billing-release>IF ("1.1.0" == "1.1.0") (echo version match) 
w:\ce-billing-release>IF NOT ("1.1.0" == "1.1.0") (echo version doesn't match) 
version doesn't match 

Auch wenn es den richtigen Wert sowohl der variable = 1.1.0, aus irgendeinem Grund wird es denkt, dass sie nicht gleich sind. Was vermisse ich ?

Antwort

3

Verwenden Sie nicht (), um den Vergleich zu begrenzen. () sind nicht sinnvoll zu if, und werden Teil der Zeichenkette, die verglichen wird:

C:\Users\marc>IF ("1.1.0" equ "1.1.0") (echo version match) 

C:\Users\marc>IF "1.1.0" equ "1.1.0" (echo version match) 
version match