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

[其他] [已解决]批处理怎样设置执行命令超时?

本帖最后由 garyng 于 2011-8-15 20:13 编辑

我有一个问题~
能不能让 set /p a= 在等待用户输入时,等待时间超过一定的时间就执行下一个命令?
1

评分人数

    • CrLf: 感谢给帖子标题标注[已解决]字样PB + 2

当然用 set/p 是没办法的,因为他会停止下所有的工作
建议你换个别的可以输入的命令,
记得这个问题被问过,自己找找吧
世界上没有学不会的知识,也没有想得到却做不到的事!

TOP

本帖最后由 ArdentMan 于 2011-8-15 01:47 编辑

实现起来相当麻烦(密码是m,记得按回车)
  1. @Echo Off
  2. If Defined Flag Goto Next
  3. ::请将下面的空格换成TAB制表符
  4. Set "Tab= "
  5. For /L %%I In (1,1,92) Do Call,Set "tg=%%tg%%"
  6. Set "Flag=a"&Start /b "" %0
  7. For /L %%j In (1,1,500) Do Echo>Nul
  8. For /L %%i In (10,-1,1) Do (
  9.   If Not Exist "%Temp%\bathome" (
  10.     2>Nul Echo %Tab%%tg%&Set /p= <Nul
  11.     Set /p=%tg:~,20%请在%%i秒内输入密码<Nul
  12.     Echo,&Set /p=密码?<Nul
  13.     For /L %%j In (1,1,4000) Do Echo>Nul
  14.   )
  15. )  
  16. If Not Exist "%Temp%\bathome" TaskKill /f /im cmd.exe>Nul
  17. Exit
  18. :Next
  19. Echo,&Set /p Str=密码?
  20. If "%Str%" EQU "m" Cls&Echo 密码正确&Cd.>"%Temp%\bathome"
  21. Pause>Nul
  22. Del "%Temp%\bathome" 2>Nul&Exit
复制代码
1

评分人数

一路飘过的鸟~~~

TOP

回复 3# ArdentMan


    但也发现只有一次输入密码的机会能不能让他有三次机会?
通用简洁实用就是批处理精神

TOP

set /p ardentman实现了,用个choice更省事:
  1. @echo off
  2. CHOICE /T 10 /C:yn /CS /D y
  3. If ErrorLevel 2 goto n
  4. If ErrorLevel 1 goto y
  5. :y
  6. echo 10秒内没选择就显示这个
  7. pause&exit
  8. :n
  9. echo You choice n,good.
  10. pause>nul
复制代码
1

评分人数

    • CrLf: 乐于助人PB + 5

TOP

谢谢~麻烦你们了~

TOP

就是这样的东西
我想2秒超时以后自动刷新当前时间,也就是自动选择0

实在不知道怎么写啊=。=

TOP

回复 7# xiaoququ1


    请勿挖坟。。那么就的的东东你也挖来回复?!
另开主题 自己问问呗~

TOP

返回列表