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

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

[复制链接]
发表于 2010-10-5 21:49:48 | 显示全部楼层
  1. @echo off&setlocal enabledelayedexpansion
  2. set/a num=10
  3. for /l %%a in (1 1 10) do (
  4. echo !num!
  5. set /a num=!num!-1
  6. ping /n 2 127.0.1>nul
  7. )
  8. set/a num=
  9. pause>nul
复制代码

[ 本帖最后由 lys5300 于 2010-10-5 21:55 编辑 ]
发表于 2010-10-8 22:06:48 | 显示全部楼层
方法一:

  1. @echo off
  2. for /l %%i in (10,-1,1) do (
  3. echo %%i)
  4. pause>nul
复制代码


方法二:

  1. @echo off

  2. setlocal enabledelayedexpansion

  3. for /l %%i in (10,-1,1) do (

  4. set /a a+=%%i
  5. echo !a!
  6. set /a a=0)

  7. pause>nul
复制代码
发表于 2010-10-28 09:43:12 | 显示全部楼层

  1. @echo off
  2. for /l %%a in (10,-1,1) do echo %%a
  3. Pause
复制代码
发表于 2010-10-28 18:29:43 | 显示全部楼层

  1. @echo off
  2. set /a num=10
  3. :rol
  4. cls
  5. echo %num%
  6. ping /n 1 127.0.0.1>nul
  7. if  "%num%"=="1" (
  8. set /a num=10&goto rol
  9. ) else (
  10. set /a num-=1&goto rol
  11. )
复制代码

[ 本帖最后由 weichenxiehou 于 2010-10-28 18:32 编辑 ]
发表于 2010-12-22 20:57:26 | 显示全部楼层
程序名exitXs.bat
命令行下运行exitXs 10即可实现10秒倒计时,最后退出
  1. @echo off
  2. setlocal enableextensions

  3. REM 功能:倒计时X秒退出程序

  4. if `%1`==`` goto :USAGE
  5. if `%1`==`/?` goto :USAGE
  6. if `%1`==`/h` goto :USAGE

  7. for /L %%a in (%1,-1,0) do (
  8.     cls
  9.     echo.
  10.     echo.
  11.     echo 程序将在%%a秒内退出……
  12.     REM 间隔时间1秒
  13.     ping -n 2 127.1 >nul
  14. )
  15. cls
  16. goto :EOF

  17. :USAGE
  18. echo.
  19. echo %0功能:倒计时X秒退出程序
  20. echo.
  21. echo %0用法:%0 [X]
  22. echo.
  23. goto :EOF
复制代码

[ 本帖最后由 mac007cn 于 2010-12-23 11:15 编辑 ]
发表于 2010-12-31 23:09:36 | 显示全部楼层
  1. @echo off
  2. for /l %%a in (10 -1 1) do (
  3. echo %%a
  4. ping /n 2 127.1>nul
  5. cls
  6. )
  7. echo 倒计时完成!!!
  8. pause>nul
复制代码
发表于 2011-1-28 18:17:46 | 显示全部楼层

对吗

  1. @echo off
  2. for /l %%i in (10 -1 0) do (
  3. setlocal enabledelayedexpansion
  4. ping /n 1 bbs.bathome.net>nul
  5. echo %%i)
  6. pause>nul
复制代码
发表于 2011-1-29 21:23:50 | 显示全部楼层
@echo off
:1
for /l %%i in (1,1,10) do echo %%i
goto 1
发表于 2011-3-13 23:03:11 | 显示全部楼层

新人啊,

  1. @echo off

  2. for %%i in (1 2 3 4 5 6 7 8 9 10) do echo %%i
  3. pause
复制代码
发表于 2011-3-16 16:08:46 | 显示全部楼层
file:///C:/Documents%20and%20Settings/Administrator/Application%20Data/Tencent/Users/635649804/QQ/WinTemp/RichOle/3WDU9C~NYVUEZ80GTUH3WFD.jpg
发表于 2011-3-27 11:13:11 | 显示全部楼层

  1. @echo off
  2. for /l %%a in (10,-1,0) do (
  3.   cls
  4.   echo %%a
  5.   timeout /t 1 >nul
  6. )
复制代码
发表于 2011-3-29 13:23:13 | 显示全部楼层
不能发帖  只能在这说说想法了!!希望能分windows区和linux区!!
发表于 2011-4-3 17:51:35 | 显示全部楼层
@echo off
for /l %%i in (10,-1,1) do echo %%i
pause
刚看到,来练习一下

[ 本帖最后由 hlzj88 于 2008-11-10 22:36 编辑 ]
hlzj88 发表于 2008-11-10 22:34


我也是这么写的, 呵呵。
发表于 2011-4-14 10:54:55 | 显示全部楼层
10# h5599859


绝佳效果
发表于 2011-4-19 07:10:48 | 显示全部楼层
@echo off

for %%i in (1 2 3 4 5 6 7 8 9 10) do echo %%i
pause
sctrue 发表于 2011-3-13 23:03

看了这个朋友的回答,就在想,这样写的话应该来不及看到倒计时。直接十行就刷刷 的显示出来了
就想修改一下,第一次修改成这样。
  1. @echo off
  2. for %%i in (1 2 3 4 5 6 7 8 9 10) do (echo %%i
  3. ping -n 2 127.1>nul)
  4. pause
复制代码

结果运行出错。以为不能分开两行吧?
第二次修改。
  1. @echo off
  2. for %%i in (1 2 3 4 5 6 7 8 9 10) do (echo %%i&&ping -n 2 127.1>nul

  3. pause[code]
  4. 依旧不能运行,再修改。
  5. [code]@echo off
  6. for %%i in (1 2 3 4 5 6 7 8 9 10) do echo %%i&&ping -n 2 127.1>nul
  7. pause
复制代码

这样就可以了。
然后想到1 2 3 4 5 6 7...10可用1-10顺便改成10-1,让原来的顺计时改成倒计时。
代码如下。

  1. @echo off
  2. for %%i in (10-1) do echo %%i&&ping -n 2 127.1>nul
  3. pause
复制代码


结果直接显示出来了。这样不能运行的话。我就先改成1-10吧
依旧直接显示出来了。。。。
然后我就不知道怎么弄了。。。按理说可以这样写吧?

归根结底还是自己的基础知识不熟练。一开始的几个错误是那个括号不知道干什么用的,总以为do后面多个命令的话就要括起来。而不需要使用连接符&&。
中间的可以运行了,就想把代码简化一下。到最后越改越糟。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-3-17 03:54 , Processed in 0.019436 second(s), 7 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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