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

[系统相关] 批处理命令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=这个一直等待输入,如果没有输入,时延放在后面肯定不行,放在前面,又没有任何意义

看看你的系统里面有没有choice命令

TOP

本帖最后由 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

TOP

给楼主提供一个参考代码——倒数十秒,若无输入则开始备份:
  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
复制代码

TOP

返回列表