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

Check if there's a difference between two variables

我有两个变量。 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

有人知道 "not equal" 符号应该是什么样子吗?

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

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

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

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. 左括号必须与 if
  3. 在同一物理行上
  4. 如果使用 'else' 子句,"true" 块的结束括号、分隔符和 else 关键字必须在同一物理行上
  5. 在使用 'else' 块的情况下,else 关键字、分隔符和 "else" 块的左括号必须在同一物理行上

if condition (
 something
) else (
 someotherthing
)

但要小心!

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