小于或等于

时间:2013-08-28 23:12:28

标签: batch-file

使用pause命令我发现错误在此代码的第一行:

if %choice% == 1 if %energy% => %m2enc% set /a enemhp=%enemhp%-%m1hpd%+%earmr%
pause
set /a energy= %energy%-%m1enc%
set /a hp= %hp%-%edefense%
set /a defense= %defense%+1
goto battle

所以不要说我忘了设置能量和m2enc,因为我只是在不同的部分,我也尝试用%energy%替换10m2enc% 1但它仍然无效,我尝试将=>替换为>=LSQ(显然是小于或等于的替代方案)所以我希望知道这部分的错误。

3 个答案:

答案 0 :(得分:84)

批处理中,>是一个重定向符号,用于将数据输出到文本文件中。 cmd的比较运算(推荐)低于(引用if /?帮助):

where compare-op may be one of:

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

这应该解释你想要什么。唯一的其他比较操作是==,可以使用if not参数进行切换。除此之外,还依赖于这三个字母。

答案 1 :(得分:7)

if没有=> 使用if %energy% GEQ %m2enc%

有关其他详细信息,请参阅if /?

答案 2 :(得分:4)

您可以使用:

EQU - 等于

NEQ - 不等于

LSS - 小于

LEQ - 小于或等于

GTR - 大于

GEQ - 大于或等于

避免使用:

() ! 〜 - * /% + - << >> &安培; | = * = / =%= + = - =   & = ^ = | =<< =>> =