Как вы устанавливаете диапазон чисел в качестве уровня ошибки в пакете?

У меня есть этот сценарий в пакете, и я получил ряд вопросов 1–12.
Весь мой код работает, но я просто не могу найти код, который можно добавить в пакет, чтобы вывести сообщение об ошибке для выбранных недопустимых диапазонов.

Пример: если я выберу 13, что не является частью параметров, он автоматически изменится на 1.
Я хочу, чтобы все числа от 13 и выше отображали «недопустимый параметр», а затем по умолчанию возвращались в меню выбора.

Я не использую команду сдвига в своем пакете, так как вместо этого я просто использовал следующий код

set /p choice=Type the number that corresponds to the Step you want to take.
if not '%choice%'=='' set choice=%choice:~0%

Обратите внимание, что ~0 позволяет мне использовать числа, переданные 9, вместо использования команды сдвига.
Тем не менее, мне нужен код, который скажет, если пользователь наберет 13 или вверх и появится ошибка.
Есть идеи? Другими словами, если варианты находятся в диапазоне от 13 до 999, отображается ошибка.

Обновить

Итак, я посмотрел на свой код и понял, что пропустил одну строку кода. который

@echo "%choice%" не является допустимым выбором/параметром

Кажется, что мой код был правильным, когда я дал '%choice%'=='', я просто не оставил эха, чтобы сказать, что выбор был неправильным. Оказывается, мне не нужны никакие уровни ошибок.

Надеюсь, это поможет кому-то


person shido 641    schedule 27.09.2012    source источник


Ответы (1)


Просто для уточнения: следующий код выводит сообщение об ошибке, если выбор больше 13, и устанавливает введенное значение для первого введенного символа.

@echo off

SET /P choice=Type the number that corresponds to the Step you want to take.

IF %choice% GTR 12 GOTO Error

ECHO You entered %choice%

GOTO End

:Error

ECHO %choice% is not a valid selection/option

set choice=%choice:~0,1%

ECHO %choice%

:End

person Jeff K    schedule 27.09.2012