检查两个变量之间是否存在差异

时间:2015-02-08 16:32:07

标签: batch-file

我有两个变量。 var1 = 1.0; var2 = 0.9

我想这样做:

set var1=1.0
set var2=0.9

if %var1%=%var2% echo equal
if %var1%(not equal to)%var2% echo not equal
pause

有人知道“不等于”符号应该是什么样的吗?

2 个答案:

答案 0 :(得分:0)

if "%var1%" neq "%var2%"

if not "%var1%"=="%var2%"

在控制台窗口中输入help if以获取更多信息。您还应养成将==符号的两边用引号括起来的习惯,以防其中一个变量包含空格。

答案 1 :(得分:0)

if %var1% neq %var2% echo not equal

还有geq gtr lss leq和equ(大于或等于,大于,小于,小于等于等)

但是 - 如果你使用包含分隔符的字符串(如空格),最好在比较的两边使用“quotedvariablenames”,你也可以使用

if /i ...

比较不区分大小写的字符串

也可以使用

if not ....

否定一个条件

if condition (dothis) else (dothat)
  1. IF真实条件目标
  2. 的左括号之前必须有一个分隔符
  3. 该左括号必须与if
  4. 位于同一物理线上
  5. 如果使用'else'子句,则“true”块的结束括号,分隔符和else关键字必须位于同一物理行上
  6. 如果使用'else'块,则else关键字,分隔符和“else”块的左括号必须位于同一物理行上
  7. if condition (
     something
    ) else (
     someotherthing
    )
    

    但要小心!

    批处理不支持浮点。将1.0与0.9进行比较将作为字母比较进行,2.0将报告为大于19.0(容易与不相等......)