中国DOS联盟论坛

中国DOS联盟

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

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

游客:  注册 | 登录 | 命令行 | 会员 | 搜索 | 上传 | 帮助 »
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » 关于SET的问题,诚心请教高手.(问题已解决.感谢大家.)
作者:
标题: 关于SET的问题,诚心请教高手.(问题已解决.感谢大家.) 上一主题 | 下一主题
vlanmaster
初级用户





积分 100
发帖 46
注册 2006-12-19
状态 离线
『楼 主』:  关于SET的问题,诚心请教高手.(问题已解决.感谢大家.)

问题已解决.感谢大家.

[ Last edited by vlanmaster on 2006-12-25 at 10:54 AM ]

2006-12-25 23:21
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
ccwan
金牌会员




积分 2725
发帖 1160
注册 2006-9-23
来自 河北廊坊
状态 离线
『第 2 楼』:  

if "%dk%"==""   goto dk4
上句改为if "%dk%"==""   goto :eof



三人行,必有吾师焉。   学然后知不足,教然后知困,然后能自强也。
2006-12-25 23:25
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
vlanmaster
初级用户





积分 100
发帖 46
注册 2006-12-19
状态 离线
『第 3 楼』:  

感谢楼上的快速解答,输入空不是我想要的结果,我的意思是必须输入1,2,3.按照您的意思,如果我输入的是"a"它还是执行下面的退出命令.

2006-12-25 23:31
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
ccwan
金牌会员




积分 2725
发帖 1160
注册 2006-9-23
来自 河北廊坊
状态 离线
『第 4 楼』:  

那就改成
set /p dk=请选择确定后回车键:
if "%dk%"=="1" goto dk1
if "%dk%"=="2" goto dk2
if "%dk%"=="3" goto dk3
goto :eof




三人行,必有吾师焉。   学然后知不足,教然后知困,然后能自强也。
2006-12-25 23:33
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
everest79
金牌会员

一叶枝头,万树皆春



积分 2564
发帖 1127
注册 2006-12-25
状态 离线
『第 5 楼』:  

set msg=.
:top
echo%msg%
set /p dk=请选择确定后回车键:
if "%dk%"=="1" goto dk1
if "%dk%"=="2" goto dk2
if "%dk%"=="3" goto dk3
::if "%dk%"=="" goto dk4 概念错误,当dk为空时转至:gk4,那为a当然就不成立了
if "%dk%"=="" (set msg=你没有没输&goto top) else set msg=输入错误&goto top
exit
=======
set /p dk=请选择确定后回车键:
if "%dk%"=="1" goto dk1
if "%dk%"=="2" goto dk2
if "%dk%"=="3" goto dk3
if "%dk%"==""   goto dk4
goto :eof
exit

2006-12-25 23:39
查看资料  发短消息 网志   编辑帖子  回复  引用回复
vlanmaster
初级用户





积分 100
发帖 46
注册 2006-12-19
状态 离线
『第 6 楼』:  

感谢ccwan.成功解决.

2006-12-25 23:40
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
voiL
中级用户





积分 384
发帖 189
注册 2005-10-19
状态 离线
『第 7 楼』:  

2楼有不妥.

if "%dk%"==""   goto :eof

只适用于输入为空的情况.

我还不太懂楼主所说的"不让它执行下面的内容"是指什么.

到底是说输入非1,2,3它连下面的判断都不执行还是执行判断之后不再有相应的跳转而直接退出批处理??

如果是第2种情况,那么,1楼的代码完全正确了.

如果是第1种情况,其实我觉得也没有必要这么做了,因为它仅仅是执行了4个判断,相信这不会影响多少时间吧???

[ Last edited by voiL on 2006-12-25 at 11:44 PM ]

2006-12-25 23:40
查看资料  发短消息 网志   编辑帖子  回复  引用回复
voiL
中级用户





积分 384
发帖 189
注册 2005-10-19
状态 离线
『第 8 楼』:  

想不到ccwan竟然这么快...

这帖子写到最后,突然间想用msg给用户一个提示...

结果又去研究了一下msg,回来才发现这帖子回复都一大堆了...

混口饭吃真难啊...

2006-12-25 23:43
查看资料  发短消息 网志   编辑帖子  回复  引用回复
vlanmaster
初级用户





积分 100
发帖 46
注册 2006-12-19
状态 离线
『第 9 楼』:  

感谢大家回复.
其实我的意识很简单,就是让用户选择输入1.2.3才执行下面的对应内容,否则就提示用户输入错误.而不执行下面的内容.不然用户随便输入个字符它也往下执行.这也不符合逻辑.不是我本意.

2006-12-25 23:49
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
vlanmaster
初级用户





积分 100
发帖 46
注册 2006-12-19
状态 离线
『第 10 楼』:  

5 楼的everest79兄弟你的代码执行错误,详细见下.
请选择确定后回车键:4
'echo输入错误' is not recognized as an internal or external command,
operable program or batch file.
请选择确定后回车键:

2006-12-25 23:50
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
ccwan
金牌会员




积分 2725
发帖 1160
注册 2006-9-23
来自 河北廊坊
状态 离线
『第 11 楼』:  



  Quote:
Originally posted by voiL at 2006-12-25 23:43:
想不到ccwan竟然这么快...

这帖子写到最后,突然间想用msg给用户一个提示...

结果又去研究了一下msg,回来才发现这帖子回复都一大堆了...

混口饭堮..

voil兄言重了。我只是觉得楼主的目的可能很简单,就按最简单的方法去实现
,其实你们几位的思路很好,给出一个提示会更人性化。
p.s.发帖挣点积分



三人行,必有吾师焉。   学然后知不足,教然后知困,然后能自强也。
2006-12-25 23:55
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
everest79
金牌会员

一叶枝头,万树皆春



积分 2564
发帖 1127
注册 2006-12-25
状态 离线
『第 12 楼』:  

set赋值是没注意格式
set msg= txt注意要加个空格,为了配合echo%msg%

2006-12-26 00:01
查看资料  发短消息 网志   编辑帖子  回复  引用回复

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


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



论坛跳转: