[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

[日期时间] 批处理怎样实现在指定时间内显示选择操作项,超过时间则自动选择一项

本帖最后由 pcl_test 于 2016-7-17 18:48 编辑

要求:1.在5秒内选择1~6的选项,如果不选择,则自动选择1选项
         2.有倒计时提示
我写了一段,可是不行,我是新手,才接触2天,请高手们指导,谢谢~~!
  1. mode con cols=50 lines=15
  2. title=启动
  3. color 2f
  4. @ECHO OFF
  5. :00000
  6. CLS
  7. set TT=5
  8. for /l %%a in (%TT%,-1,1)do (
  9. cls
  10. ECHO.
  11. ECHO  请选择!!!!!
  12. ECHO.
  13. ECHO 1.
  14. ECHO 2.         3.
  15. ECHO 4. 5.
  16. ECHO 6.退出该软件
  17. choice/c 123456 /t 4 /d 1 /m "%%a秒后自动选择1"
  18. )
  19. IF %errorlevel%==1 GOTO AAA1
  20. IF %errorlevel%==2 GOTO AAA2
  21. IF %errorlevel%==3 GOTO AAA3
  22. IF %errorlevel%==4 GOTO AAA4
  23. IF %errorlevel%==5 GOTO AAA5
  24. IF %errorlevel%==6 GOTO AAA6
复制代码

  1. @echo off
  2. %1 goto begin
  3. choice /c 123 /t 5 /d 1 /n 3>>%0
  4. echo 您选择的是[%errorlevel%]
  5. IF errorlevel 1 GOTO AAA1
  6. IF errorlevel 2 GOTO AAA2
  7. IF errorlevel 3 GOTO AAA3
  8. pause & exit
  9. :begin
  10. start /b "" cmd /c "%~0" :
  11. for /l %%a in (5,-1,1) do (
  12. cls
  13. echo 1,吃饭   2,睡觉  3,洗澡
  14. echo 还剩 %%a 秒,可选[1,2,3]
  15. ping /n 2 127.0.0.1 >nul
  16. exit /b 3>>%0
  17. ) 2>nul
  18. exit /b
  19. :AAA1
  20. GOTO 11111
  21. :AAA2
  22. EXIT
  23. :AAA3
  24. EXIT
  25. :11111
  26. %1 goto begin111
  27. choice /c 123 /t 5 /d 1 /n 3>>%0
  28. echo 您选择的是[%errorlevel%]
  29. IF errorlevel 1 GOTO BBB1
  30. IF errorlevel 2 GOTO BBB2
  31. IF errorlevel 3 GOTO BBB3
  32. pause & exit
  33. :begin111
  34. start /b "" cmd /c "%~0" :
  35. for /l %%b in (5,-1,1) do (
  36. cls
  37. echo 1,吃早饭   2,吃午饭 3,吃晚饭
  38. echo 还剩 %%b 秒,可选[1,2,3]
  39. ping /n 2 127.0.0.1 >nul
  40. exit /b 3>>%0
  41. ) 2>nul
  42. exit /b
  43. :BBB1
  44. echo 早上好
  45. pause
  46. :BBB2
  47. echo 中午好
  48. pause
  49. :BBB3
  50. echo 下午好
  51. pause
复制代码
回复 2# CrLf
出现的问题:
1,第一次选择是可以显示对话框的123选项,选择第一项后,第二次选择就没有显示可以选择的内容了,就只有光标提示,
2,如果第一次让系统自然倒计时结束,默认选择第一项,但是也没出现显示的内容
3,为了区别第一个begin ,我修改了第二个begin为begin111, 第二个倒计时时间%%a修改为%%b,这样有问题吗,
在线等,谢谢了!!!!

TOP

批处理怎样在倒计时的时候选择选项,不选择则默认,有倒计时提示?

出现的问题:
1,第一次选择是可以显示对话框的123选项,选择第一项后,第二次选择就没有显示可以选择的内容了,就只有光标提示,
2,如果第一次让系统自然倒计时结束,默认选择第一项,但是也没出现显示的内容
3,为了区别第一个begin ,我修改了第二个begin为begin111, 第二个倒计时时间%%a修改为%%b,这样有问题吗,
在线等,谢谢了!!!!
  1. @echo off
  2. %1 goto begin
  3. choice /c 123 /t 5 /d 1 /n 3>>%0
  4. echo 您选择的是[%errorlevel%]
  5. IF errorlevel 1 GOTO AAA1
  6. IF errorlevel 2 GOTO AAA2
  7. IF errorlevel 3 GOTO AAA3
  8. pause & exit
  9. :begin
  10. start /b "" cmd /c "%~0" :
  11. for /l %%a in (5,-1,1) do (
  12. cls
  13. echo 1,吃饭   2,睡觉  3,洗澡
  14. echo 还剩 %%a 秒,可选[1,2,3]
  15. ping /n 2 127.0.0.1 >nul
  16. exit /b 3>>%0
  17. ) 2>nul
  18. exit /b
  19. :AAA1
  20. GOTO 11111
  21. :AAA2
  22. EXIT
  23. :AAA3
  24. EXIT
  25. :11111
  26. %1 goto begin111
  27. choice /c 123 /t 5 /d 1 /n 3>>%0
  28. echo 您选择的是[%errorlevel%]
  29. IF errorlevel 1 GOTO BBB1
  30. IF errorlevel 2 GOTO BBB2
  31. IF errorlevel 3 GOTO BBB3
  32. pause & exit
  33. :begin111
  34. start /b "" cmd /c "%~0" :
  35. for /l %%b in (5,-1,1) do (
  36. cls
  37. echo 1,吃早饭   2,吃午饭 3,吃晚饭
  38. echo 还剩 %%b 秒,可选[1,2,3]
  39. ping /n 2 127.0.0.1 >nul
  40. exit /b 3>>%0
  41. ) 2>nul
  42. exit /b
  43. :BBB1
  44. echo 早上好
  45. pause
  46. :BBB2
  47. echo 中午好
  48. pause
  49. :BBB3
  50. echo 下午好
  51. pause
复制代码

TOP

回复 2# CrLf


    你好,按你写的代码运行后,如果我第一次选择吃饭,然后选择吃早饭,吃午饭,吃晚饭都可以,但是如果是选择睡觉,我的意思是直接退出软件了,但是,还是会跳到吃早饭,吃午饭,吃晚饭,你可以试试看看下,谢谢!!

TOP

回复 2# CrLf


    可以了,把你写的代码
  1. IF errorlevel 1 GOTO AAA1
  2. IF errorlevel 2 GOTO AAA2
  3. IF errorlevel 3 GOTO AAA3
复制代码
换成
  1. IF %errorlevel%==1 GOTO AAA1
  2. IF %errorlevel%==2 GOTO AAA2
  3. IF %errorlevel%==3 GOTO AAA3
复制代码
就可以了,谢谢啦

TOP

返回列表