中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --

联盟域名:www.cn-dos.net  论坛域名:www.cn-dos.net/forum
DOS,代表着自由开放与发展,我们努力起来,学习FreeDOS和Linux的自由开放与GNU精神,共同创造和发展美好的自由与GNU GPL世界吧!

游客:  注册 | 登录 | 命令行 | 搜索 | 上传 | 帮助 »
作者:
标题: if /i 与 set 命令有冲突吗? 上一主题 | 下一主题
zjren
初级用户





积分 56
发帖 22
注册 2007-3-27
状态 离线
『楼 主』:  if /i 与 set 命令有冲突吗?

小弟有用到判断条件后set name=##的情况。 发现根本没有执行改句。 set /p sk=[1,2,3]? if /i "%sk%"="1" set name=酒 goto :吃饭 if /i "%sk%"="2" set name=饭 goto :喝酒 结果不行。 怎么能够用判断 赋予name不同的值?谢谢。


2007-3-27 00:55
查看资料  发送邮件  发短消息  网志   编辑帖子  回复  引用回复
zjren
初级用户





积分 56
发帖 22
注册 2007-3-27
状态 离线
『第 2 楼』:  echo 你好 就可以。

if /i "%sk%"="1" echo 你吃过了。 这句却可以。可见是if /i 与 set 命令不和了。


2007-3-27 00:57
查看资料  发送邮件  发短消息  网志   编辑帖子  回复  引用回复
lxmxn
版主




积分 11386
发帖 4938
注册 2006-7-23
状态 离线
『第 3 楼』:  

To zjren:   是不是这里(set name=酒&goto :吃饭)掉了一个&号?


2007-3-27 01:00
查看资料  发送邮件  发短消息  网志   编辑帖子  回复  引用回复
zjren
初级用户





积分 56
发帖 22
注册 2007-3-27
状态 离线
『第 4 楼』:  不知道哪里错了。

@set /P CHS = [请选择数字?]? if /I "%CHS%"=="a" goto :1 @if /I "%CHS%"=="b" goto :2 @if /I "%CHS%"=="c" goto :3 @if /I "%CHS%"=="d" goto :4 @if /I "%CHS%"=="5" goto :5 @if /I "%CHS%"=="6" goto :6 @if /I "%CHS%"=="7" goto :7 @if /I "%CHS%"=="8" goto :8 @if /I "%CHS%"=="9" goto :10-19 @echo 你的输入有误 goto :end :1 set name=死亡之屋 && goto :游戏更新 :2 set name=完美世界国际版 && goto :游戏更新 :3 set name=神泣 && goto :游戏更新 :4 set name=QQ音速 && goto :游戏更新 :5 set name=QQ幻想 && goto :游戏更新 :6 set name=冒险岛 && goto :游戏更新 :7 set name=梦幻西游 && goto :游戏更新 :8 set name=街头篮球 && goto :游戏更新


2007-3-27 01:28
查看资料  发送邮件  发短消息  网志   编辑帖子  回复  引用回复
zjren
初级用户





积分 56
发帖 22
注册 2007-3-27
状态 离线
『第 5 楼』:  问题解决了。

@set /P CHS = [请选择数字?] 错了,应该是:下面 @set /P CHS= [请选择数字?]


2007-3-27 01:37
查看资料  发送邮件  发短消息  网志   编辑帖子  回复  引用回复
zh159
金牌会员




积分 3687
发帖 1467
注册 2005-8-8
状态 离线
『第 6 楼』:  

Originally posted by zjren at 2007-3-26 11:55: 小弟有用到判断条件后set name=##的情况。 发现根本没有执行改句。 set /p sk=[1,2,3]? if /i "%sk%"="1" set name=酒 goto :吃饭 if /i "%sk%"="2" set name=饭 goto :喝酒 结果不行。 怎么能够用判断 赋予name不同的值?谢谢。
set name=酒&goto :吃饭 set name=饭&goto :喝酒
Originally posted by zjren at 2007-3-26 12:28: @set /P CHS = [请选择数字?]? if /I "%CHS%"=="a" goto :1 @if /I "%CHS%"=="b" goto :2 @if /I "%CHS%"=="c" goto :3 @if /I "%CHS%"=="d" goto :4 @if /I "%CHS%"=="5" goto :5 @if /I "%CHS%"=="6" goto :6 @if /I "%CHS%"=="7" goto :7 @if /I "%CHS%"=="8" goto :8 @if /I "%CHS%"=="9" goto :10-19 @echo 你的输入有误 goto :end :1 set name=死亡之屋 && goto :游戏更新 :2 set name=完美世界国际版 && goto :游戏更新 :3 set name=神泣 && goto :游戏更新 :4 set name=QQ音速 && goto :游戏更新 :5 set name=QQ幻想 && goto :游戏更新 :6 set name=冒险岛 && goto :游戏更新 :7 set name=梦幻西游 && goto :游戏更新 :8 set name=街头篮球 && goto :游戏更新 :end


2007-3-27 01:41
查看资料  发短消息  网志   编辑帖子  回复  引用回复
zjren
初级用户





积分 56
发帖 22
注册 2007-3-27
状态 离线
『第 7 楼』:  恩.谢了.小弟的批处理技术很刺

真心能向各位大哥学习啊.


2007-3-27 12:11
查看资料  发送邮件  发短消息  网志   编辑帖子  回复  引用回复
kisslbye
新手上路





积分 3
发帖 2
注册 2008-9-27
状态 离线
『第 8 楼』:  

我看到过一段 他的可以 echo off SET /P ST= 请输入 Y (现在重启)或 N (稍后重启): echo. if /I "%ST%"=="Y" goto R if /I "%ST%"=="N" goto EX :r SHUTDOWN -R -T 120 pause :ex echo 还不 pause


2008-9-30 07:17
查看资料  发送邮件  发短消息  网志   编辑帖子  回复  引用回复
23112656
中级用户





积分 220
发帖 99
注册 2008-6-26
状态 离线
『第 9 楼』:  

你就少了个&


2008-10-1 16:30
查看资料  发送邮件  发短消息  网志   编辑帖子  回复  引用回复

请注意:您目前尚未注册或登录,请您注册登录以使用论坛的各项功能,例如发表和回复帖子等。


可打印版本 | 推荐给朋友 | 订阅主题 | 收藏主题



论坛跳转: