标题: 请教一个if的用法
[打印本页]
作者: mn960mn
时间: 2009-2-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-2-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-2-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-2-28 03:34
作者: zhuimu
时间: 2009-2-28 04:51
作者: skywalker
时间: 2009-2-28 12:30
Originally posted by mn960mn at 2009-2-28 03:34 AM:
谢谢
太谢谢了
虽然我不太看的懂
两条语句都是这样写的,先写好假如是ABCD的情况下的跳转,
如果输入的不是这四个字母,就进入下一条语句:goto end
作者: zh159
时间: 2009-2-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-2-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-2-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-3-1 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-3-1 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-3-2 01:21
作者: Hanyeguxing
时间: 2009-3-2 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 ]