- Сообщения
 - 8,143
 
- Решения
 - 27
 
- Реакции
 - 6,959
 
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
	
			
				Последнее редактирование модератором: