批处理代码中的数字比较

时间:2013-04-03 16:18:42

标签: batch-file numbers comparison inequalities

我的批处理代码中的<,>和==等数字比较有困难。我正在做的是生成一个随机数并使用该答案做某事,这就是我写的:

set rand=%random%
set rand=%rand:~1,1% 
If %rand%==9 goto nine
If %rand%>5 goto above 5
If %rand%>1 goto above 1
If %rand%==0 goto zero

当我运行它时,代码就会关闭。我尝试在被比较的两个对象和不平等之间放置空格,但它仍然不起作用。

请记住,这是Windows上的批处理代码。

2 个答案:

答案 0 :(得分:1)

阅读HELP IF,然后尝试此

if %rand% equ 9 goto nine
if %rand% gtr 5 goto above5
goto below5

请注意,标签名称不能包含空格

作为额外奖励,请阅读HELP SET并更改您尝试获取随机0到9数字的方式

set /a rand=%random% %% 10

答案 1 :(得分:0)

对于if命令使用这些键而不是等于和大于符号;

EQU - equal
NEQ - not equal
LSS - less than
LEQ - less than or equal
GTR - greater than
GEQ - greater than or equal

对于Equ tho,我建议使用==而不是equ。更容易打字。