2016-07-19 10 views
0

私はジェンキンスでWindowsバッチコマンドを持っている:ビルドおよびVERSIONがビルドから得ているWindowsバッチコマンド「==」演算子の奇妙な行動

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

。上記の出力は、それはそれは彼らが等しくないと考えて、いくつかの理由で、変数= 1.1.0の両方の正しい値を取得していても

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 

です。私は何が欠けていますか?

答えて

3

比較を区切るのに()を使用しないでください。 ()ifには意味を持ちません。比較される文字列の一部になります:

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