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

[ 新手习题 4 ] 批处理循环十秒倒计时

[复制链接]
发表于 2011-4-20 22:25:24 | 显示全部楼层
bat+vbs实现
  1. @echo off&setlocal enabledelayedexpansion
  2. color 0a
  3. call :delay 1000
  4. for /l %%i in (10,-1,0) do (
  5.         echo %%i
  6.         start "" /wait/min %temp%\delay.vbs
  7. )
  8. if exist %temp%\delay.vbs del %temp%\delay.vbs
  9. goto exit
  10. :delay
  11. echo wscript.sleep(%1)>%temp%\delay.vbs
  12. goto :eof
  13. :exit
  14. pause&exit
复制代码
发表于 2011-4-21 19:50:10 | 显示全部楼层
@echo off
for /l %%i (10 -1 0) do echo 开始倒计时:%%i ^ &ping -n a 127.1>nul&cls
发表于 2011-5-4 14:01:52 | 显示全部楼层
本帖最后由 abcdshenji 于 2011-5-4 14:02 编辑

  1. @echo off
  2. for /l %%i in (10 -1 0) do (
  3.         set /p=_<nul
  4.         for /l %%m in (0 1 10) do set /p=^<nul
  5.         ping -n 2 127.1>nul&set /p=%%i<nul
  6. )
  7. echo;
  8. pause>nul
复制代码
发表于 2011-5-29 18:58:05 | 显示全部楼层
第一种:
  1. ECHO OFF
  2. SETLOCAL ENABLEDELAYEDEXPANSION
  3. FOR /L %%I IN (10,-1,0) DO (
  4. PING 127.1 /N 1>NUL
  5. ECHO %%I
  6. )
  7. PAUSE>NUL/code]
  8. 第二种:
  9. [code]ECHO OFF
  10. COLOR A
  11. SET A=11
  12. :START
  13. SET /A A=%A%-1
  14. PING 127.1 /N>NUL
  15. ECHO %A%
  16. Shift /1
  17. IF %A% GEQ 2 GOTO START
  18. IF %A% LEQ 2 GOTO END
  19. :END
  20. PAUSE>NUL
复制代码
水平有限,见笑了
发表于 2011-6-9 23:53:02 | 显示全部楼层
[coce]
@echo off
::setlocal enabledelayedexpansion
for /l %%i in (10,-1,1) do echo %%i&ping 127.0 -n 2 >nul2>nul
pause>nul
[/code]
发表于 2011-7-17 12:57:14 | 显示全部楼层
1# wxcute
  1. @echo off
  2. For /l %%i in (10 -1 0) do (ping 127.1 /n 2  >nul
  3. echo %%i)
  4. pause
复制代码

评分

参与人数 1技术 +1 收起 理由
zxd11097 + 1 学习了 FOR原来有这么一种用法.

查看全部评分

发表于 2011-7-18 05:13:58 | 显示全部楼层

  1. @echo off
  2. :循环十秒倒计时习题
  3. for /l %%i in (10 -1 0) do (ping -n 2 127.0.1>nul&cls&echo %%i)
  4. pause>nul
复制代码

  1. @echo off
  2. :循环十秒倒计时习题
  3. set/a "a=11"
  4. :zone
  5. set/a "b=a-=1"
  6. echo %b%
  7. ping /n 2 127.1>nul&cls
  8. if %b% equ 0 (pause>nul) else goto zone
复制代码
发表于 2011-8-4 10:10:25 | 显示全部楼层
回复 1# wxcute
调用系统时钟什么的,不会。
使用gvim编辑批处理真的是一种灾难,尤其是有中文的时候。
我试着用下面的两种方法做了一下。

  1. @echo off
  2. for /l %%i in (10 -1 1) do (echo %%i)
  3. pause

  4. set num=10
  5. :A
  6. if %num% equ 0 (goto B) else (
  7.     set /a num=num-1
  8.         echo %num%
  9.         )
  10. goto A
  11. :B
  12. pause>nul
复制代码
发表于 2012-9-5 11:37:52 | 显示全部楼层
@ECHO OFF
set n=11
:str
cls
set /a n-=1
echo %n%
ping -n 2 127.0.0.1>nul
if %n% neq 0 goto str
pause

就一行倒计时
何必写的太复杂
发表于 2012-10-16 19:39:34 | 显示全部楼层

  1. @echo off
  2. setlocal EnableDelayedExpansion
  3. set num=10
  4. for /l %%i in (1,1,10) do (set /a num=num-1 & ping -n 2 127.1 > nul & echo !num!)
  5. pause
复制代码
一秒输出一个数~~~
发表于 2013-1-16 15:52:01 | 显示全部楼层
  1. @echo off
  2. for /L %%i in (10,-1,0) do (
  3.     ping -n 2 127.0>nul & cls & echo %%i
  4. )   
  5. pause
复制代码
发表于 2013-1-23 18:37:16 | 显示全部楼层

  1. @echo off
  2. for /l %%a in (10,-1,0) do (
  3. echo %%a
  4. for /l %%b in (1,1,1000) do echo.>nul
  5. )
复制代码
发表于 2013-1-23 18:52:49 | 显示全部楼层
  1. @echo off
  2. set n=10
  3. :loop
  4. echo %n%
  5. set /a n-=1
  6. ping /n 2 127.1>nul
  7. if %n% gtr -1 goto loop
  8. pause
复制代码
发表于 2013-1-27 23:00:47 | 显示全部楼层
  1. @echo off
  2. title 快跑!
  3. for /l %%i in (10,-1,1) do (
  4. cls
  5. echo 倒计时%%is
  6. ping -n 2 127.1>nul
  7. )
  8. cls
  9. title 时间到
  10. echo 时间到,你死了。。。
  11. pause>nul
复制代码
发表于 2013-4-25 12:08:32 | 显示全部楼层
  1. @if not defined DEBUG        (@echo off)
  2. title 倒计时练习批处理&chcp 936>nul&color 0A

  3. :Menu
  4. set "choice="
  5. echo.&echo.
  6. echo.                          倒计时练习批处理            
  7. echo.                   1.利用for /L 计时
  8. echo.                   2.利用if和goto计时
  9. echo.                   3.利用call和shift计时
  10. echo.                   4.退出
  11. echo.
  12. set /p "choice=    请选择:"
  13. if "%choice%" equ "1" color 1A&goto 01_For
  14. if "%choice%" equ "2" color 2A&goto 02_if
  15. if "%choice%" equ "3" color 3A&goto 03_shift
  16. if "%choice%" equ "4" goto Exit
  17. echo 非法输入!
  18. ping -w 2 -n 2 127.0.0.1>nul 2>&1
  19. cls
  20. goto Menu

  21. :: 1.利用for /L 计时
  22. :01_For
  23. echo.1.利用for /L 计时
  24. for /l %%i in (10,-1,1) do (
  25.         set /p=%%i <nul
  26.         ping -w 2 -n 2 127.0.0.1>nul 2>&1
  27.         set /p=<nul
  28. )
  29. goto End

  30. :: 2.利用if和goto计时
  31. :02_if
  32. echo.2.利用if和goto计时
  33. set "num=11"
  34. :Loop
  35. set /a num-=1
  36. set /p=<nul&set /p=%num% <nul
  37. ping -w 2 -n 2 127.0.0.1>nul 2>&1
  38. if "%num%" neq "1" (goto Loop)
  39. goto End

  40. :: 3.利用call和shift计时
  41. :03_shift
  42. echo.3.利用call和shift计时
  43. set "num=10 9 8 7 6 5 4 3 2 1"
  44. call :Timer %num%
  45. goto End

  46. :Timer
  47. set /p=<nul&set /p=%1 <nul
  48. ping -w 2 -n 2 127.0.0.1>nul 2>&1
  49. shift /1
  50. if "%1" neq "" goto Timer
  51. goto :eof

  52. :End
  53. echo.&echo 倒计时结束,按任意键继续...
  54. pause>nul&cls&goto Menu

  55. :Exit
  56. exit
复制代码
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|批处理之家 ( 渝ICP备10000708号 )

GMT+8, 2026-3-17 05:09 , Processed in 0.023176 second(s), 8 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表