中国DOS联盟论坛

中国DOS联盟

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

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

游客:  注册 | 登录 | 命令行 | 会员 | 搜索 | 上传 | 帮助 »
作者:
标题: 批处理菜单问题??? 上一主题 | 下一主题
bitmyth
初级用户





积分 34
发帖 9
注册 2005-12-7
状态 离线
『楼 主』:  批处理菜单问题???

@echo off

echo                                  欢迎使用::零点网吧磁盘维护系统::
echo.
echo                                        请选择下列选项进行操作.
echo.
echo                            ***************1.全盘******************
echo.
echo                            ***************2.网络******************
echo.
echo                            ***************3.备份******************
echo.
echo                            ***************4.还原******************
echo.
:start
echo                                   请输入您的选项[1/2/3/4]:
set /p userchoice=
if "%userchoice%" == "1" goto 1
if "%userchoice%" == "2" goto 2
if "%userchoice%" == "3" goto 3
if "%userchoice%" == "4" goto 4
echo.
echo                           您并未做任何选择,请重新输入您的选择。
goto start



:1
call c:\sys\copysys.bat
goto end

:2
call c:\sys\netsys.bat
goto end

:3
call c:\sys\bf.bat
goto end

:4
call c:\sys\hy.bat
goto end


:end


问题:怎么清除显示过的命令??
在CMD 下可以正常操作,但是在DOS 下就不行了 一直执行程序!
刚刚学批处理,不知道加什么参数才能让程序等待执行....
请高手帮忙....不胜感谢~

2005-12-10 13:50
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
alchemist
高级用户




积分 652
发帖 193
注册 2005-9-25
状态 离线
『第 2 楼』:  

用countdown软件可以延时

2005-12-10 16:54
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
JonePeng
金牌会员

D◎$ Fαп


积分 4562
发帖 1883
注册 2004-1-19
来自 广东广州
状态 离线
『第 3 楼』:  



  Quote:
Originally posted by bitmyth at 2005-12-10 13:50:
在CMD 下可以正常操作,但是在DOS 下就不行了 一直执行程序!

纯DOS下的set命令没有‘/p”参数,需要用外部命令choice来代替。

由于CMD自动缓冲命令记录,只要按Alt+F7键即可清除输入过的命令。而在纯DOS下如果没有加载DOSKEY.COM的话,是不会记录所有命令的(但按F3键仍可以显示上一条命令)。

延时的命令除了 countdown 之外,还有 wait 和 choice 命令。

[ Last edited by JonePeng on 2005-12-10 at 17:31 ]



----====≡≡≡≡ 我的至爱,永远是MSDOS!≡≡≡≡====----
  
2005-12-10 17:24
查看资料  发送邮件  发短消息 网志  OICQ (373343541)  编辑帖子  回复  引用回复
Jneny
高级用户

中國DOS聯盟常任參議员


积分 686
发帖 318
注册 2005-11-4
状态 离线
『第 4 楼』:  

其实要做选择性的批处理很简单,可以用到DOS下的CHOICE命令,,
CHOICE /?查看帮助,,此命令还带有延时选择功能,
在MSDOS下SET命令没有 /P这个参数当然会有一直执行GOTO START 命令啦
         ------------------------------- 不是很懂DOS的菜鸟-------------------------------

2005-12-10 17:26
查看资料  发送邮件  发短消息 网志  OICQ (290256061)  编辑帖子  回复  引用回复
bitmyth
初级用户





积分 34
发帖 9
注册 2005-12-7
状态 离线
『第 5 楼』:  

谢谢个位的 意见,但是昨天我写的CHOICE 不能实现的,希望有能力的朋友帮忙写出来一个 批处理选择菜单 学习参考!

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

D◎$ Fαп


积分 4562
发帖 1883
注册 2004-1-19
来自 广东广州
状态 离线
『第 6 楼』:  改用CHOICE的版本


@echo off
cls
echo                                  欢迎使用::零点网吧磁盘维护系统::
echo.
echo                                        请选择下列选项进行操作.
echo.
echo                            ***************1.全盘******************
echo.
echo                            ***************2.网络******************
echo.
echo                            ***************3.备份******************
echo.
echo                            ***************4.还原******************
echo.
:start
choice /C:1234 请输入您的选项
if errorlevel == 4 goto 4
if errorlevel == 3 goto 3
if errorlevel == 2 goto 2
if errorlevel == 1 goto 1
echo.
echo                           您并未做任何选择,请重新输入您的选择。
goto start


:1
call c:\sys\copysys.bat
goto end

:2
call c:\sys\netsys.bat
goto end

:3
call c:\sys\bf.bat
goto end

:4
call c:\sys\hy.bat
goto end

:end




----====≡≡≡≡ 我的至爱,永远是MSDOS!≡≡≡≡====----
  
2005-12-11 11:41
查看资料  发送邮件  发短消息 网志  OICQ (373343541)  编辑帖子  回复  引用回复
Jneny
高级用户

中國DOS聯盟常任參議员


积分 686
发帖 318
注册 2005-11-4
状态 离线
『第 7 楼』:  

楼上的写得很好呀
如果用MSDOS7。1的CHOICE要在显示文本前加/T 参数
用此命令的要点:
               1。返回值大的要优先执行,,
               2。然后要有相应的标号与此对应
没有其他的啦,,,OK~~~~~~~~~~!!!!!

2005-12-11 14:49
查看资料  发送邮件  发短消息 网志  OICQ (290256061)  编辑帖子  回复  引用回复
无奈何
荣誉版主





积分 1338
发帖 356
注册 2005-7-15
状态 离线
『第 8 楼』:  

打扰了,借你的批处理程序测试一下!

  Quote:

  1. @echo off
  2. cls
  3. echo                                  欢迎使用::零点网吧磁盘维护系统::
  4. echo.
  5. echo                                        请选择下列选项进行操作.
  6. echo.
  7. echo                            ***************1.全盘******************
  8. echo.
  9. echo                            ***************2.网络******************
  10. echo.
  11. echo                            ***************3.备份******************
  12. echo.
  13. echo                            ***************4.还原******************
  14. echo.
  15. :start
  16. choice /C:1234 请输入您的选项
  17. if errorlevel == 4 goto 4
  18. if errorlevel == 3 goto 3
  19. if errorlevel == 2 goto 2
  20. if errorlevel == 1 goto 1
  21. echo.
  22. echo                           您并未做任何选择,请重新输入您的选择。
  23. goto start


  24. :1
  25. call c:\sys\copysys.bat
  26. goto end

  27. :2
  28. call c:\sys\netsys.bat
  29. goto end

  30. :3
  31. call c:\sys\bf.bat
  32. goto end

  33. :4
  34. call c:\sys\hy.bat
  35. goto end

  36. :end





  ☆开始\运行 (WIN+R)☆
%ComSpec% /cset,=何奈无── 。何奈可无是原,事奈无做人奈无&for,/l,%i,in,(22,-1,0)do,@call,set/p= %,:~%i,1%<nul&ping/n 1 127.1>nul

2005-12-12 22:55
查看资料  发送邮件  发短消息 网志  OICQ (105400208)  编辑帖子  回复  引用回复
vlq5299
初级用户





积分 136
发帖 59
注册 2006-6-2
状态 离线
『第 9 楼』:  

学习了

2006-12-6 22:18
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
0401
中级用户

带走



积分 435
发帖 88
注册 2005-9-24
状态 离线
『第 10 楼』:  

。。。。。。。。。。
无奈何兄又在玩什么

2006-12-7 05:59
查看资料  发短消息 网志   编辑帖子  回复  引用回复

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


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



论坛跳转: