Board logo

标题: [系统相关] 批处理命令set、if语句中如何实现20s无输入直接goto? [打印本页]

作者: dsfei    时间: 2012-1-9 19:59     标题: 批处理命令set、if语句中如何实现20s无输入直接goto?

  1. :begin
  2. cls                        
  3. @echo off
  4. echo                               请选择使用的计算机种类
  5. echo.
  6. echo                  ***************1.第一台台式机***************
  7. echo.
  8. echo                  ***************2.第一台笔记本***************
  9. echo.
  10. echo                               请输入代码[1/2]
  11. set /p type=
  12. if "%type%" == "1" goto company1
  13. if "%type%" == "2" goto company2
复制代码
现在情况是在显示输入的时候,如何做到,如果20s没有任何输入,我就goto到另外一个程序。多谢多谢
我试了ping那个时延。但是set /p type=这个一直等待输入,如果没有输入,时延放在后面肯定不行,放在前面,又没有任何意义
作者: find    时间: 2012-1-9 20:14

看看你的系统里面有没有choice命令
作者: ivor    时间: 2012-1-9 20:15

本帖最后由 ivor 于 2012-1-9 20:20 编辑
  1. @echo off
  2. CHOICE /T 5 /C 123 /D 3 /N
  3. if %errorlevel% equ 1 goto company1
  4. if %errorlevel% equ 2 goto company2
  5. if %errorlevel% equ 3 goto company3
复制代码
win X系统请下载choice,
下载地址http://bbs.bathome.net/viewthrea ... mp;highlight=choice
作者: CrLf    时间: 2012-1-9 22:49

给楼主提供一个参考代码——倒数十秒,若无输入则开始备份:
  1. @echo off
  2. echo %cmdcmdline%
  3. if "%~1"=="按任意键退出" goto :%1
  4. >"%temp%\.sub" cd.
  5. start "" /b %0 按任意键退出
  6. set 退格键=
  7. for /l %%a in (10 -1 1) do (
  8.      set /p =%退格键%%%a 秒后开始备份文件... [按任意键退出] <nul
  9.      if not exist "%temp%\.sub" exit
  10.      ping -n 2 127.1 >nul
  11. )
  12. echo,
  13. echo 备份完成。
  14. echo 按任意键退出...
  15. exit
  16. :按任意键退出
  17. pause >nul
  18. del "%temp%\.sub"
  19. exit
复制代码





欢迎光临 批处理之家 (http://www.bathome.net/) Powered by Discuz! 7.2