- Сообщения
- 8,019
- Решения
- 12
- Реакции
- 6,788
choice записывает туда порядковый номер цифры, указанной вот в этом перечислении /C 1234567890.
Следовательно у нуля - 10-тый номер.
Нужно делать так:
Кстати, если всмотреться в код, я уже такой вариант писал ранее.
Вот эту строку нужно вставить сразу следующей строкой после последней круглой скобки:
Следовательно у нуля - 10-тый номер.
Нужно делать так:
CMD/BATCH:
echo.
echo 0. choice another version
echo.
if %n% LSS 10 (
choice /C 1234567890 /M "Enter number: " /N
call set ch=%%errorlevel%%
) else (
set /p "ch=Enter number and press ENTER: "
)
if "%ch%"=="" goto dialog
if %n% LSS 10 if %ch%==10 goto single_setup
if %ch% GTR %n% goto dialog
if %ch% LSS 0 goto dialog
if %ch%==0 goto single_setup
Нужно ставить защиту от ввода не-чисел. Позже напишу как.но если мы наберем 2.3
Вот эту строку нужно вставить сразу следующей строкой после последней круглой скобки:
CMD/BATCH:
cmd /v /c echo !n!| findstr /R /C:"[^0-9]" >NUL && goto dialog
Последнее редактирование модератором: