中国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 楼』:  



  Quote:
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 :喝酒

  Quote:
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
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复

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


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



论坛跳转: