Войти

Показать полную графическую версию : [решено] как сделать двойную проверку if в одной строке?


frozenny
07-11-2023, 11:09
Всем привет, появилась небольшая проблема.
@echo off
echo 1
echo 2
echo 3
set /p var1=
echo 1
echo 2
echo 3
set /p var2=
cls
if %var1%==1 (echo 1) else if %var1%==2 (echo 2) else if %var1%==3 (echo 3) && if %var2%==1 (echo 1) else if %var2%==2 (echo 2) else if %var2%==3 (echo 3)
pause
как в предпоследней строчке сделать так, чтобы выводилось два параметра а не один?
если условие с var1 будет выполнено, то он выведет только то что у него получилось с var1, а действия с var2 он пропустит
извиняюсь за какие либо ошибки, новичок как в программировании, так и в оформлении тем :)

YuS_2
07-11-2023, 14:06
новичок как в программировании »
Учите сразу powershell, ибо cmd не развивается и имеет очень ограниченные возможности...
И на будущее: при возникновении проблемы, лучше описывать задачу, а не способы её решения...

DJ Mogarych
07-11-2023, 18:26
лучше описывать задачу, а не способы её решения »
Если это только не домашка, которую неохота решать самостоятельно.

YuS_2
08-11-2023, 11:29
Если это только не домашка, которую неохота решать самостоятельно. »
Да, собственно, пусть будет даже домашка... ведь, решая задачу, человек приобретает навыки, знания и абсолютно ничего не теряет (одни только плюсы), теряет только тот, кто ленится... так что, если хочется оставить свою собственную голову пустой, можно и домашку скидывать. :)

frozenny
08-11-2023, 14:11
Окей, приму к сведению, но задачу можно как нибудь решить?

NickM
08-11-2023, 17:23
как нибудь решить? »
@echo off
setlocal enabledelayedexpansion

for /l %%a in (1,1,2) do (
set /p var%%a=
)

for /l %%a in (1,1,2) do (
for /l %%b in (1,1,3) do (
if !var%%a! EQU %%b echo.var%%a=%%b
)
)

megaloman
08-11-2023, 19:29
Не догоняю смысл, может так?@Echo Off &cls
:Begin
(Set var1=&Set var2=)
Set /P var1=var1=
Set /P var2=var2=

For %%i In (1 2 3) Do If "%Var1%"=="%%i" For %%j In (1 2 3) Do If "%Var2%"=="%%j" Echo %%i %%j
Pause
GoTo :Begin
Exit /B
или так @Echo Off &cls
:Begin
(Set var1=&Set var2=)
Set /P var1=var1=
Set /P var2=var2=

For %%i In (11 12 13 21 22 23 31 32 33) Do If "%Var1%%Var2%"=="%%i" Echo %%i
Pause
GoTo :Begin
Exit /B
или эдак@Echo Off &cls
:Begin
(Set var1=&Set var2=)
Set /P var1=var1=
Set /P var2=var2=

Echo %var1%|>nul FindStr /I /L /C:"1" /C:"2" /C:"3"&&Echo %var2%|>nul FindStr /I /L /C:"1" /C:"2" /C:"3"&& Echo %var1% %var2%
Pause
GoTo :Begin
Exit /B

frozenny
09-11-2023, 15:11
Спасибо за помощь!




© OSzone.net 2001-2012