![]() |
中国DOS联盟-- 联合DOS 推动DOS 发展DOS --联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum |
| 游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟 |
|
中国DOS联盟论坛 现在时间是 2026-08-02 20:29 |
共 48,038 主题排行 / 350,123 发帖 / 今日 1 篇 / 48,251 会员排行 |
| DOS批处理 & 脚本技术(批处理室) » 自写的一个choice 功能 |
| 可打印版本 1,133 / 13 |
| 第1楼 scriptor | 发表于 2006-12-24 03:38 |
| 银牌会员 发帖 555 积分 1,187 | |
|
自写的一个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 ] |
|
| 第2楼 scriptor | 发表于 2006-12-24 03:44 |
| 银牌会员 发帖 555 积分 1,187 | |
RemarkOriginally posted by scriptor at 2006-12-23 14:38: 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! |
|
| 第3楼 lxmxn | 发表于 2006-12-24 04:36 |
| 版主 发帖 4,938 积分 11,386 | |
|
问题很多。 1、:yes 子程序段和 :no 程序段没有相应的跳转语句 goto . 2、if 加上 /i 参数可以避免输入大写的 Y / N 导致程序显示错误 . 3、就是版面吧,感觉比较乱 . 几点小建议,兄勿怪 . |
|
| 第4楼 scriptor | 发表于 2006-12-24 04:52 |
| 银牌会员 发帖 555 积分 1,187 | |
哦??Originally posted by lxmxn at 2006-12-23 15:36: 我在我的机器上调试通过, 1、:yes 子程序段和 :no 程序段没有相应的跳转语句 goto . 有goto 的啊 关于第二点本人完全接受,多谢指点. 第三点我保留意见,呵呵 |
|
| 第5楼 zh159 | 发表于 2006-12-24 08:23 |
| 金牌会员 发帖 1,467 积分 3,687 | |
|
@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 |
|
| 第6楼 lxmxn | 发表于 2006-12-24 08:29 |
| 版主 发帖 4,938 积分 11,386 | |
|
zh159 兄已经帮我说了,我就不必多说了。 |
|
| 第7楼 bg | 发表于 2006-12-24 09:08 |
| 初级用户 发帖 34 积分 118 | |
|
这个有很大的用处吗?
输入Y/N还要按回车才能接着运行。 有没有哪位兄弟编个不用回车就能接着运行的? |
|
| 第8楼 hake | 发表于 2006-12-24 09:40 |
| 初级用户 发帖 43 积分 103 | |
|
set /p choice=
这是什么意思? |
|
| 第9楼 lxmxn | 发表于 2006-12-24 10:02 |
| 版主 发帖 4,938 积分 11,386 | |
Originally posted by bg at 2006-12-23 20:08: 回车是确认,不回车怎么继续运行呢? |
|
| 第10楼 zh159 | 发表于 2006-12-24 10:21 |
| 金牌会员 发帖 1,467 积分 3,687 | |
Originally posted by bg at 2006-12-23 20:08: 用2003的 choice.exe |
|
| 第11楼 scriptor | 发表于 2006-12-24 11:53 |
| 银牌会员 发帖 555 积分 1,187 | |
回答Originally posted by hake at 2006-12-23 20:40: 这是接受你的键盘的输入, 同时choice 这个变量旧代表了你的选择 那么程序就会按照你的选择执行相应的命令. 更多了解,输入 set /? 再查看 |
|
| 第12楼 scriptor | 发表于 2006-12-24 11:57 |
| 银牌会员 发帖 555 积分 1,187 | |
|
注意了!! 我写的这个是在你的系统里没有choice.exe的时候可以用的
我的机器里就没有,在每次编程要询问用户的意图时候,没有choice.exe很不方便, 所以就造了这个choice.bat来代替. win 98 里面有choice.exe,可以到那里把它靠到你的机器,也行.如果不能的话 , 我想这是一个好的选择! |
|
| 第13楼 win2ye | 发表于 2006-12-24 23:05 |
| 初级用户 发帖 22 积分 58 | |
Originally posted by zh159 at 2006-12-24 10:21: 但是2003的 choice.exe 只能在XP以上的系统中使用 |
|
| 第14楼 win2ye | 发表于 2006-12-24 23:08 |
| 初级用户 发帖 22 积分 58 | |
Originally posted by lxmxn at 2006-12-24 04:36: 学习了 |
|
|
[ 联系联盟系统管理团队 -
中国DOS联盟 -
标准版 ] Sponsored by ifanr Inc | © 2001–2023 |