![]() |
中国DOS联盟-- 联合DOS 推动DOS 发展DOS --联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum |
| 游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟 |
|
中国DOS联盟论坛 现在时间是 2026-08-11 13:04 |
共 47,811 主题排行 / 349,897 发帖 / 今日 0 篇 / 48,256 会员排行 |
| DOS批处理 & 脚本技术(批处理室) » 请教一个if的用法 |
| 可打印版本 982 / 12 |
| 第1楼 mn960mn | 发表于 2009-02-27 23:16 |
| 初级用户 发帖 20 积分 24 | |
|
请教一个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 这个怎么写拉 请高手赐教 |
|
| 第2楼 moniuming | 发表于 2009-02-27 23:52 |
| 银牌会员 发帖 574 积分 1,335 来自 广西 | |
| 第3楼 bat-zw | 发表于 2009-02-27 23:59 |
| 金牌会员 发帖 1,276 积分 3,105 | |
|
也来一个:
|
|
| 第4楼 mn960mn | 发表于 2009-02-28 03:34 |
| 初级用户 发帖 20 积分 24 | |
|
谢谢
太谢谢了 虽然我不太看的懂 |
|
| 第5楼 zhuimu | 发表于 2009-02-28 04:51 |
| 新手上路 发帖 1 积分 1 | |
|
也学习学习~
|
|
| 第6楼 skywalker | 发表于 2009-02-28 12:30 |
| 初级用户 发帖 26 积分 75 | |
Originally posted by mn960mn at 2009-2-28 03:34 AM: 两条语句都是这样写的,先写好假如是ABCD的情况下的跳转, 如果输入的不是这四个字母,就进入下一条语句:goto end |
|
| 第7楼 zh159 | 发表于 2009-02-28 14:24 |
| 金牌会员 发帖 1,467 积分 3,687 | |
|
上面写得是不是太高深了点
|
|
| 第8楼 yishanju | 发表于 2009-02-28 23:00 |
| 银牌会员 发帖 1,357 积分 1,488 | |
|
这样也行吧
找不到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 ] |
|
| 第9楼 yishanju | 发表于 2009-02-28 23:26 |
| 银牌会员 发帖 1,357 积分 1,488 | |
|
@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 |
|
| 第10楼 netbenton | 发表于 2009-03-01 00:47 |
| 银牌会员 发帖 752 积分 1,916 来自 广西 | |
|
::这样也可以,但是不知道为什么选择其它的退出时,不见了提示符。
:: @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 |
|
| 第11楼 netbenton | 发表于 2009-03-01 00:53 |
| 银牌会员 发帖 752 积分 1,916 来自 广西 | |
|
学习三楼的 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 ... |
|
| 第12楼 hao789 | 发表于 2009-03-02 01:21 |
| 新手上路 发帖 5 积分 12 | |
|
懂了
懂了 |
|
| 第13楼 Hanyeguxing | 发表于 2009-03-02 11:34 |
| 银牌会员 发帖 897 积分 1,039 来自 在地狱中仰望天堂 | |
Originally posted by mn960mn at 2009-2-27 23:16: 你把: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 ] |
|
|
[ 联系联盟系统管理团队 -
中国DOS联盟 -
标准版 ] Sponsored by ifanr Inc | © 2001–2023 |