Подтвердить что ты не робот

Меньше или равно

Используя команду 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% на 10 и m2enc% на 1, и он все еще не работал, я попытался заменить => на >= и LSQ (по-видимому, альтернативу для меньше или равно). Поэтому я хотел бы знать, что не так с этой частью.

4b9b3361

Ответ 1

В пакетном режиме > представляет собой знак переадресации, используемый для вывода данных в текстовый файл. Сравнение op доступно (и рекомендуется) для 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. Другие, которые полагаются на эти три буквы.

Ответ 2

Нет => для if.
Используйте if %energy% GEQ %m2enc%

См. if /? для некоторых других деталей.

Ответ 3

Вы можете использовать:

EQU - equal

NEQ - не равно

LSS - меньше

LEQ - меньше или равно

GTR - больше, чем

GEQ - больше или равно

ИЗБЕЖАТЬ ИСПОЛЬЗОВАНИЯ:

() ! ~ - */% + - & Л; < → & Амп; | = * =/=% = + = - = & = ^ = | = < <= < = → =