0

我一直在做一些事情,而我被困的地方是:

设置/p !=

如果%!% == yahoo.com转到YAHOO

如果%!% == facebook.com转到FACEBOOK

如果%!% == mail.google.com转到GMAIL

如果%!% == youtube.com转到YOUTUBE

如果%!% == google.com转到GOOGLE

否则转到ELSE

顺便说一句,这只是一个例子。好吧,问题是, else 不能正常工作......我应该怎么做,所以我希望有人能帮忙......

4

4 回答 4

1

您可以使您的代码更易于维护:

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

更好的是,您可以使用完整的站点地址作为标签,然后只要每个标签从行首开始,您的代码就会变得微不足道:

set /p "site="
>nul findstr /bc:":%site%" "%~f0" && (goto %site%) || goto SomewhereElse

:yahoo.com
rem code here

:facebook.com
rem etc
于 2013-09-13T21:45:19.063 回答
0
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
)
于 2013-09-13T21:41:24.563 回答
0

ELSE是批量关键字,不要用于跳转标签:

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

在制作批处理脚本之前,您应该学习批处理。

于 2013-09-13T21:02:36.690 回答
0

您不必使用Else以下代码:

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

并转到 mail.google.com 和所有不会将您发送到站点的所有内容。

于 2013-09-14T02:11:38.400 回答