检查两个变量之间是否存在差异
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)
IF
真条件目标的左括号前必须有一个分隔符
- 左括号必须与
if
在同一物理行上
- 如果使用 'else' 子句,"true" 块的结束括号、分隔符和
else
关键字必须在同一物理行上
- 在使用 'else' 块的情况下,
else
关键字、分隔符和 "else" 块的左括号必须在同一物理行上
即
if condition (
something
) else (
someotherthing
)
但要小心!
批处理不支持浮点数。将 1.0 与 0.9 进行比较将作为字母比较执行,并且 2.0
将被报告为大于 19.0
(不等于很容易...)
我有两个变量。 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)
IF
真条件目标的左括号前必须有一个分隔符- 左括号必须与
if
在同一物理行上
- 如果使用 'else' 子句,"true" 块的结束括号、分隔符和
else
关键字必须在同一物理行上 - 在使用 'else' 块的情况下,
else
关键字、分隔符和 "else" 块的左括号必须在同一物理行上
即
if condition (
something
) else (
someotherthing
)
但要小心!
批处理不支持浮点数。将 1.0 与 0.9 进行比较将作为字母比较执行,并且 2.0
将被报告为大于 19.0
(不等于很容易...)