Pracowałem nad czymś, a utknąłem w tym:
zestaw / p! =
gdyby %!% == yahoo.com iść do WIEŚNIAK
gdyby %!% == facebook.com iść do FACEBOOK
gdyby %!% == mail.google.com iść do GMAIL
gdyby %!% == youtube.com iść do YOUTUBE
gdyby %!% == google.com iść do GOOGLE
jeszcze goto JESZCZE
Przy okazji, to tylko przykład. Problem polega na tym, że inne nie działają poprawnie ... Idk, jak powinienem to zrobić, więc mam nadzieję, że ktoś może pomóc ...
Odpowiedzi:
1 dla odpowiedzi № 1Możesz ułatwić utrzymanie kodu:
set /p "site="
for %%A in (
yahoo.com:YAHOO
facebook.com:FACEBOOK
mail.google.com:GMAIL
youtube.com:YOUTUBE
google.com:GOOGLE
) do for /f "tokens=1,2 delims=:" %%B in (%%A) do if "%site%" equ "%%B goto %%C
goto SomewhereElse
Co więcej, możesz użyć pełnego adresu strony jako swojej etykiety, wtedy kod staje się trywialny, o ile każda etykieta zaczyna się na początku wiersza:
set /p "site="
>nul findstr /bc:":%site%" "%~f0" && (goto %site%) || goto SomewhereElse
:yahoo.com
rem code here
:facebook.com
rem etc
0 dla odpowiedzi nr 2
ELSE
jest kluczowym słowem wsadowo, nie używaj go do skoku etykiety:
set /p "X="
if "%X%" == "yahoo.com" goto YAHOO
if "%X%" == "facebook.com" goto FACEBOOK
if "%X%" == "mail.google.com" goto GMAIL
if "%X%" == "youtube.com" goto YOUTUBE
if "%X%" == "google.com" goto GOOGLE
goto ELSEWHERE
Powinieneś nauczyć się wsadowego przed utworzeniem skryptów wsadowych.
0 dla odpowiedzi № 3
set /p "X="
if "%X%" == "yahoo.com" (
echo YAHOO
) else if "%X%" == "facebook.com" (
echo FACEBOOK
) else if "%X%" == "mail.google.com" (
echo GMAIL
) else if "%X%" == "youtube.com" (
echo YOUTUBE
) else if "%X%" == "google.com" (
echo GOOGLE
) else (
echo OTHER
)
0 dla odpowiedzi nr 4
Nie musisz używać Else
kod:
set /p !=
if %!% == yahoo.com goto YAHOO
if %!% == facebook.com goto FACEBOOK
if %!% == mail.google.com goto GMAIL
if %!% == youtube.com goto YOUTUBE
if %!% == google.com goto GOOGLE
goto ELSE
I goto mail.google.com i wszystko, co nie wyśle Cię na strony.