作者:mn960mn | 时间:2009-02-27 23:16 | 标题:请教一个if的用法
我想做一个这样的批处理
选择1 就跳转到 A
选择2 就跳转到 B
选择3 就跳转到 C
选择4 就跳转到 D
输入其他的任何东西都 跳转到 end
我是这样写的
@echo off
:start
set /p a=请输入你的号:
if /i "%a%"=="1" goto a
if /i "%a%"=="2" goto b
if /i "%a%"=="3" goto c
if /i "%a%"=="4" goto d
输入其他的任何东西都 跳转到 end
这个怎么写拉
请高手赐教
作者:moniuming | 时间:2009-02-27 23:52
@echo off
Setlocal Enabledelayedexpansion
set n=0
for %%i in (a b c d) do (
set /a n+=1
set _!n!=%%i
)
set /p inpt=请输入你的号(1-4):
for /l %%a in (1 1 4) do (
if "%inpt%"=="%%a" (goto :!_%%a!)
)
goto :end
:a
echo a&pause&goto :eof
:b
echo b&pause&goto :eof
:c
echo c&pause&goto :eof
:d
echo d&pause&goto :eof
:end
echo end&pause&goto :eof
作者:bat-zw | 时间:2009-02-27 23:59
也来一个:
@echo off&setlocal enabledelayedexpansion
set "code= abcd"
set /p input=请输入你的选择(a b c d):
for /l %%a in (1,1,4) do if /i "!code:~%%a,1!" equ "%input%" goto %%a
goto :end
......
作者:mn960mn | 时间:2009-02-28 03:34
谢谢
太谢谢了
虽然我不太看的懂
作者:zhuimu | 时间:2009-02-28 04:51
也学习学习~
作者:skywalker | 时间:2009-02-28 12:30
Originally posted by mn960mn at 2009-2-28 03:34 AM:
谢谢
太谢谢了
虽然我不太看的懂
两条语句都是这样写的,先写好假如是ABCD的情况下的跳转,
如果输入的不是这四个字母,就进入下一条语句:goto end
作者:zh159 | 时间:2009-02-28 14:24
上面写得是不是太
高深了点
@echo off
:start
set /p input=请输入你的选择(1 2 3 4):
if /i "%input%"=="1" goto a
if /i "%input%"=="2" goto b
if /i "%input%"=="3" goto c
if /i "%input%"=="4" goto d
goto :end
......
作者:yishanju | 时间:2009-02-28 23:00
这样也行吧
找不到1234就goto :eof
echo %a%|findstr /c:"1" /c:"2" /c:"3" /c:"4"||goto :eof
[ Last edited by yishanju on 2009-2-28 at 23:04 ]
作者:yishanju | 时间:2009-02-28 23:26
@echo off
:start
set /p a=请输入你的号:
if /i "%a%"=="1" (goto a) else (goto e)
if /i "%a%"=="2" (goto b) else (goto e)
if /i "%a%"=="3" (goto c) else (goto e)
if /i "%a%"=="4" (goto d) else (goto e)
goto :eof
:a
echo a
pause
goto :eof
:b
echo b
pause
goto :eof
:e
echo e
pause
goto :eof
作者:netbenton | 时间:2009-03-01 00:47
::这样也可以,但是不知道为什么选择其它的退出时,不见了提示符。
::
@echo off
if "%1"=="选错了" goto :other
set/p in=输入1/2/3
goto :sub%in% &%0 选错了
:sub1
echo 选择1
goto :end
:sub2
echo 选择2
goto :end
:sub3
echo 选择3
goto :end
:other
echo 选择了其它的
:end
echo End
pause
exit/b
作者:netbenton | 时间:2009-03-01 00:53 | 标题:学习三楼的
set /p in=请输入你的选择(a b c d):
for %%a in (a,b,c,d) do if /i "in" equ "%%a" goto :sub%%a
goto :end
:suba
...
:subb
...
:subc
...
:subd
...
:end
...
作者:hao789 | 时间:2009-03-02 01:21
懂了
懂了
作者:Hanyeguxing | 时间:2009-03-02 11:34
Originally posted by mn960mn at 2009-2-27 23:16:
@echo off
:start
set /p a=请输入你的号:
if /i "%a%"=="1" goto a
if /i "%a%"=="2" goto b
if /i "%a%"=="3" goto c
if /i "%a%"=="4" goto d
输入其他的任何东西都 跳转到 end ...
你把:end标签放到这些if 的后面就可以。
@echo off
:start
set /p a=请输入你的号:
if /i "%a%"=="1" goto a
if /i "%a%"=="2" goto b
if /i "%a%"=="3" goto c
if /i "%a%"=="4" goto d
:end
。。。。
:a
。。。
[
Last edited by Hanyeguxing on 2009-3-2 at 11:35 ]