Как использовать неравенства в коде cmd
Я делал код, чтобы найти квадратные корни для практики с базовым кодированием cmd. Тем не менее, когда я набираю отрицательное число или несовершенный квадрат, он идет бесконечным циклом. Я знаю, как это исправить, но мне нужно уметь использовать неравенства (меньше чем, больше чем). (х - это число, которое у меня есть, а у - квадратный корень). Таким образом, я могу сказать:
- если% x% (меньше) 0 (не работает)
- если% y% (больше чем)% x% (не работает)
или я мог бы создать другую переменную, которая меньше (z)/ больше (n), чем x:
- если%x% == %z% (не работает)
- если%x% == %n% (не работает)
Пожалуйста, помогите мне. Я не могу найти ответ.
3 ответа
Вы можете попробовать прочитать документацию для оператора IF - введите HELP IF
или же IF /?
из командной строки. Примерно на полпути описываются расширения команд, которые поддерживают неравенства, такие как LSS менее чем за.
if 0 lss 1 (echo 0 is less than 1) else (echo 0 is not less than 1)
+1 к ответу @dbenham, вот выдержка из IF
документация со всеми операторами сравнения:
Если расширения команд включены, IF изменяется следующим образом:
IF [/I] string1 compare-op string2 command IF CMDEXTVERSION number command IF DEFINED variable command
где сравнение может быть одним из:
EQU - equal NEQ - not equal LSS - less than LEQ - less than or equal GTR - greater than GEQ - greater than or equal
Ну, в коде это будет выглядеть примерно так
:: this is Regional settings dependant so tweak this according
:: your current Windows regional settings
for /f "tokens=1-3 delims=,: " %%a in ('echo %time%') do set hhmmsss=%%a%%b%%c
if /i %hhmmsss% LSS 95959 SET hhmmsss=0%hhmmsss%