Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Скриптовые языки администрирования Windows (http://forum.oszone.net/forumdisplay.php?f=102)
-   -   Необходим аналог команды choice или другая настройка оной (http://forum.oszone.net/showthread.php?t=312028)

Ilua0256 25-02-2016 20:39 2610297

Необходим аналог команды choice или другая настройка оной
 
Вот код:
Код:

@echo off
:s
cls
set %errorlevel%==0
echo Выберите максимальный размер слота...
echo 0 - 9
choice /c 123456789 /n
set %a1%=%errorlevel%
set %b1%=%errorlevel%
set %c1%=%errorlevel%
cls
echo Нажмите любую клавишу, что бы начать...
pause >nul
SET /A a=%a1%*%random%/32768
SET /A b=%b1%*%random%/32768
SET /A c=%c1%*%random%/32768
if %a%==%b% goto:i2
if not %a%==%b% goto:f
:i2
if %a%==%c% goto:i3
if not %a%==%c% goto:f
:i3
if %b%==%c% goto:w
if not %b%==%c% goto:f
:w
cls
set %errorlevel%==0 >nul
echo Вы выиграли!
echo %a% %b% %c%
echo Хотите еще?
echo 1-да
echo 2-нет
choice /c 12 /n
if %errorlevel%==1 goto:s
if %errorlevel%==2 exit
:f
cls
set %errorlevel%==0 >nul
echo Вы проиграли!
echo %a% %b% %c%
echo Хотите еще?
echo 1-да
echo 2-нет
choice /c 12 /n
if %errorlevel%==1 goto:s
if %errorlevel%==2 exit

Первая команда Choice конфликтует с остальными, и мне необходимо либо другую команду с другой переменной, либо заставить choice менять другую переменную вместо %errorlevel%. Просто как это сделать я не знаю, и кстати, это некое подобие игрового автомата.

Iska 25-02-2016 21:05 2610318

«set %errorlevel%==0» — откуда Вы взяли этот бред?!

Цитата:

Цитата Ilua0256
либо заставить choice менять другую переменную вместо %errorlevel% »

Не заставите. Поскольку её устанавливает не «choice.exe», а сам интерпретатор команд. «choice.exe» (и, кстати, другие приложения/команды) всего лишь устанавливает код возврата.

Цитата:

Цитата Ilua0256
и мне необходимо »

Напишите, не что Вы пытаетесь делать этим кодом, а опишите саму задачу. Словами.

Foreigner 25-02-2016 21:35 2610339

Ilua0256, У вас неправильный синтаксис:
Код:

set %a1%=%errorlevel%


Время: 22:31.

Время: 22:31.
© OSzone.net 2001-