Как выбрать нужный вариант при нажатии какой-либо цифры
Есть примерно вот такой код
Код:
set /p ip=vvedite nomer:
set /p num=komp: 1 - komp1 2-komp2 3 - komp3
if num == 1 goto komp1
:komp1
netsh interface ip set address name="Local" static 192.168.%ip%.51 255.255.255.0 192.168.%ip%.50 0
if num == 2 goto komp2
:komp2
netsh interface ip set address name="Local" static 192.168.%ip%.51 255.255.255.0 192.168.%ip%.50 0
if num == 3 goto komp3
:komp3
netsh interface ip set address name="Local" static 192.168.%ip%.51 255.255.255.0 192.168.%ip%.50 0
как сделать выбор, чтобы при нажатии какой-либо цифры num получал значение и в соответствии с ним происходил выбор определенного варианта работы?
В таком виде выдается ошибка "Непредвиденное появление: =."
|
Цитата:
Цитата RazdoR
при нажатии какой-либо цифры num получал значение и в соответствии с ним происходил выбор определенного варианта работы? »
|
Код:
@echo off
set /p ip=vvedite nomer:
set /p num=komp: 1 - komp1 2-komp2 3 - komp3
if "%num%"=="1" goto komp1
if "%num%"=="2" goto komp2
if "%num%"=="3" goto komp3
Echo num=%num% NO goto...
pause>nul
Exit
:komp1
Echo num=%num% goto komp1
pause>nul
Exit
:komp2
Echo num=%num% goto komp2
pause>nul
Exit
:komp3
Echo num=%num% goto komp3
pause>nul
Exit
|
gora, метки не самый красивый вариант. А если всё подставить в условия? Мне кажется разруливается легко и уж намного легче чем эти метки.
|
yurfed, конечно можно, но... Исходя из ошибок, допущенных топикстартером, я показал как правильно записывается условие и что переход на метку должен чем-то кончаться, а не "перетекать" в следующую метку. Начинающему, наверное, так будет понятнее.
|
Цитата:
Цитата gora
if "%num%"=="1" goto komp1 »
|
Может вложенные "then" и "else" использовать? (если имеется такая фича)
|
за подсказку спасибо) попробую
но как? я не понял, как в батнике юзать if... then
Цитата:
Цитата yurfed
(если имеется такая фича) »
|
если есть, то я так и не сообразил как их тут использовать(
|
Цитата:
Цитата RazdoR
но как? я не понял, как в батнике юзать if... »
|
Код:
@echo off
set /p num=komp: 1 - komp1 2-komp2 3 - komp3
if "%num%"=="1" (
Echo num=%num% action 1
pause>nul
Exit
)
if "%num%"=="2" (
Echo num=%num% action 2
pause>nul
Exit
)
if "%num%"=="3" (
Echo num=%num% action 3
pause>nul
Exit
)
Echo num=%num% NO action
pause>nul
Exit
Подробности в справке к команде If /?
|
Время: 14:48.
© OSzone.net 2001-