我一直在做一些事情,而我被困的地方是:
设置/p !=
如果%!% == yahoo.com转到YAHOO
如果%!% == facebook.com转到FACEBOOK
如果%!% == mail.google.com转到GMAIL
如果%!% == youtube.com转到YOUTUBE
如果%!% == google.com转到GOOGLE
否则转到ELSE
顺便说一句,这只是一个例子。好吧,问题是, else 不能正常工作......我应该怎么做,所以我希望有人能帮忙......
我一直在做一些事情,而我被困的地方是:
设置/p !=
如果%!% == yahoo.com转到YAHOO
如果%!% == facebook.com转到FACEBOOK
如果%!% == mail.google.com转到GMAIL
如果%!% == youtube.com转到YOUTUBE
如果%!% == google.com转到GOOGLE
否则转到ELSE
顺便说一句,这只是一个例子。好吧,问题是, else 不能正常工作......我应该怎么做,所以我希望有人能帮忙......
您可以使您的代码更易于维护:
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
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
)
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
在制作批处理脚本之前,您应该学习批处理。
您不必使用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 和所有不会将您发送到站点的所有内容。