标题: 批处理菜单问题???
[打印本页]
作者: bitmyth
时间: 2005-12-10 13:50
标题: 批处理菜单问题???
@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 下就不行了 一直执行程序!
刚刚学批处理,不知道加什么参数才能让程序等待执行....
请高手帮忙....不胜感谢~
作者: alchemist
时间: 2005-12-10 16:54
用countdown软件可以延时
作者: JonePeng
时间: 2005-12-10 17:24
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 ]
作者: Jneny
时间: 2005-12-10 17:26
其实要做选择性的批处理很简单,可以用到DOS下的CHOICE命令,,
CHOICE /?查看帮助,,此命令还带有延时选择功能,
在MSDOS下SET命令没有 /P这个参数当然会有一直执行GOTO START 命令啦
------------------------------- 不是很懂DOS的菜鸟-------------------------------
作者: bitmyth
时间: 2005-12-10 18:10
谢谢个位的 意见,但是昨天我写的CHOICE 不能实现的,希望有能力的朋友帮忙写出来一个 批处理选择菜单 学习参考!
作者: JonePeng
时间: 2005-12-11 11:41
标题: 改用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
作者: Jneny
时间: 2005-12-11 14:49
楼上的写得很好呀
如果用MSDOS7。1的CHOICE要在显示文本前加/T 参数
用此命令的要点:
1。返回值大的要优先执行,,
2。然后要有相应的标号与此对应
没有其他的啦,,,OK~~~~~~~~~~!!!!!
作者: 无奈何
时间: 2005-12-12 22:55
打扰了,借你的批处理程序测试一下!
Quote: |
- @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
|
|
作者: vlq5299
时间: 2006-12-6 22:18
学习了
作者: 0401
时间: 2006-12-7 05:59
。。。。。。。。。。
无奈何兄又在玩什么