中国DOS联盟论坛

中国DOS联盟

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

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

游客:  注册 | 登录 | 命令行 | 搜索 | 上传 | 帮助 »
作者:
标题: 自写的一个choice 功能 上一主题 | 下一主题
scriptor
银牌会员




积分 1187
发帖 555
注册 2006-12-21
状态 离线
『楼 主』:  自写的一个choice 功能

对于没有choice.exe 的兄弟们,这是一个小玩意儿 choice.bat @echo off echo please enter y or no to continue :: y/ n is jumping switch, you can also change this prompt. set /p choice= if {%choice%}=={} echo You entered nothing. if {%choice%}=={y} goto :yes :: one switch else ( if {%choice%}=={n} goto :no :: another switch else ( echo you entered an identifiable word. ) ) echo press anykey to exit. pause >nul :yes echo yes echo press anykey to exit. pause >nul :no echo no echo press anykey to exit. pause >nul [ Last edited by scriptor on 2006-12-23 at 02:47 PM ]


2006-12-24 03:38
查看资料  发短消息  网志   编辑帖子  回复  引用回复
scriptor
银牌会员




积分 1187
发帖 555
注册 2006-12-21
状态 离线
『第 2 楼』:  Remark

Originally posted by scriptor at 2006-12-23 14:38: 对于没有choice.exe 的兄弟们,这是一个小玩意儿 choice.bat @echo off echo please enter y or no to continue :: y/ n is set /p choice= if {%choice%}=={} echo You entered n ...
The symbol "::" just is a remark. By the way , i hope anyone can create a new batch file to reach your own purpose. But not just follow the article. Be Imaging by youself. Thanks, it's my fool opinion. Any wrong , please point out mistakes so that they can be corrected. Many thanks!


2006-12-24 03:44
查看资料  发短消息  网志   编辑帖子  回复  引用回复
lxmxn
版主




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

  问题很多。   1、:yes 子程序段和 :no 程序段没有相应的跳转语句 goto .   2、if 加上 /i 参数可以避免输入大写的 Y / N 导致程序显示错误 .   3、就是版面吧,感觉比较乱 .     几点小建议,兄勿怪 .


   此帖被 +1 点积分    点击查看详情   
评分人:【 scriptor 分数: +1  时间:2006-12-24 04:54


2006-12-24 04:36
查看资料  发送邮件  发短消息  网志   编辑帖子  回复  引用回复
scriptor
银牌会员




积分 1187
发帖 555
注册 2006-12-21
状态 离线
『第 4 楼』:  哦??

Originally posted by lxmxn at 2006-12-23 15:36:   问题很多。   1、:yes 子程序段和 :no 程序段没有相应的跳转语句 goto .   2、if 加上 /i 参数可以避免输入大写的 Y / N 导致稠...
我在我的机器上调试通过, 1、:yes 子程序段和 :no 程序段没有相应的跳转语句 goto . 有goto 的啊 关于第二点本人完全接受,多谢指点. 第三点我保留意见,呵呵


2006-12-24 04:52
查看资料  发短消息  网志   编辑帖子  回复  引用回复
zh159
金牌会员




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

@echo off echo please enter y or no to continue :: y/ n is jumping switch, you can also change this prompt. set /p choice= if {%choice%}=={} echo You entered nothing. if {%choice%}=={y} goto :yes :: one switch else ( if {%choice%}=={n} goto :no :: another switch else ( echo you entered an identifiable word. ) ) echo press anykey to exit. pause >nul 这里没有跳转语句,会继续执行下面的命令 :yes echo yes echo press anykey to exit. pause >nul 这里没有跳转语句,会继续执行下面的命令 :no echo no echo press anykey to exit. pause >nul


2006-12-24 08:23
查看资料  发短消息  网志   编辑帖子  回复  引用回复
lxmxn
版主




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

  zh159 兄已经帮我说了,我就不必多说了。


2006-12-24 08:29
查看资料  发送邮件  发短消息  网志   编辑帖子  回复  引用回复
bg
初级用户





积分 118
发帖 34
注册 2006-1-10
状态 离线
『第 7 楼』:  

这个有很大的用处吗? 输入Y/N还要按回车才能接着运行。 有没有哪位兄弟编个不用回车就能接着运行的?


2006-12-24 09:08
查看资料  发短消息  网志   编辑帖子  回复  引用回复
hake
初级用户





积分 103
发帖 43
注册 2006-12-22
状态 离线
『第 8 楼』:  

set /p choice= 这是什么意思?


2006-12-24 09:40
查看资料  发送邮件  发短消息  网志   编辑帖子  回复  引用回复
lxmxn
版主




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

Originally posted by bg at 2006-12-23 20:08: 这个有很大的用处吗? 输入Y/N还要按回车才能接着运行。 有没有哪位兄弟编个不用回车就能接着运行的?
  回车是确认,不回车怎么继续运行呢?


2006-12-24 10:02
查看资料  发送邮件  发短消息  网志   编辑帖子  回复  引用回复
zh159
金牌会员




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

Originally posted by bg at 2006-12-23 20:08: 这个有很大的用处吗? 输入Y/N还要按回车才能接着运行。 有没有哪位兄弟编个不用回车就能接着运行的?
用2003的 choice.exe


2006-12-24 10:21
查看资料  发短消息  网志   编辑帖子  回复  引用回复
scriptor
银牌会员




积分 1187
发帖 555
注册 2006-12-21
状态 离线
『第 11 楼』:  回答

Originally posted by hake at 2006-12-23 20:40: set /p choice= 这是什么意思?
这是接受你的键盘的输入, 同时choice 这个变量旧代表了你的选择 那么程序就会按照你的选择执行相应的命令. 更多了解,输入 set /? 再查看


2006-12-24 11:53
查看资料  发短消息  网志   编辑帖子  回复  引用回复
scriptor
银牌会员




积分 1187
发帖 555
注册 2006-12-21
状态 离线
『第 12 楼』:  注意了!!

我写的这个是在你的系统里没有choice.exe的时候可以用的 我的机器里就没有,在每次编程要询问用户的意图时候,没有choice.exe很不方便, 所以就造了这个choice.bat来代替. win 98 里面有choice.exe,可以到那里把它靠到你的机器,也行.如果不能的话 , 我想这是一个好的选择!


2006-12-24 11:57
查看资料  发短消息  网志   编辑帖子  回复  引用回复
win2ye
初级用户





积分 58
发帖 22
注册 2005-12-15
状态 离线
『第 13 楼』:  

Originally posted by zh159 at 2006-12-24 10:21: 用2003的 choice.exe
但是2003的 choice.exe 只能在XP以上的系统中使用


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





积分 58
发帖 22
注册 2005-12-15
状态 离线
『第 14 楼』:  

Originally posted by lxmxn at 2006-12-24 04:36:   问题很多。   1、:yes 子程序段和 :no 程序段没有相应的跳转语句 goto .   2、if 加上 /i 参数可以避免输入大写的 Y / N 导致稠...
学习了


2006-12-24 23:08
查看资料  发短消息  网志   编辑帖子  回复  引用回复

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


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



论坛跳转: