批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程
[批处理文件精品]批处理版照片整理器[批处理文件精品]纯批处理备份&还原驱动在线第三方下载
返回列表 发帖

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

要求:从 10 数到 0;
   方法不限;
   不需要精确地按秒来显示,显示成 10 行也没关系。


目的:掌握几种循环的用法

评分:可用不同方法,第一不同答案者 10 分;
   答对有分,答错不扣分。

可参考:
for语句从入门到精通(for /l 部分)
http://bbs.bathome.net/thread-2189-1-1.html
if 命令示例详解
http://bbs.bathome.net/thread-55-1-1.html
shift 命令详解
http://bbs.bathome.net/thread-107-1-3.html
上一题:[ 新手练习 3 ] 简易密码登录
http://bbs.bathome.net/thread-2492-1-1.html
下一题:[ 新手练习 5 ] 随机显示星期几
http://bbs.bathome.net/thread-2564-1-1.html

[ 本帖最后由 wxcute 于 2008-11-17 11:34 编辑 ]
附件: 您需要登录才可以下载或查看附件。没有帐号?注册
1

评分人数

只要知道循环命令for或goto 的基本用法就能解答此题了。
如果要有延时的效果,就要知道任何命令的运行都是要消耗时间的,想办法把命令的结果屏蔽掉就能有延时的效果。
如果要在同一行中显示就得要借助set /p了。

综合性题目,适合新手练功。。。
心绪平和,眼藏静谧。

TOP

  1. @for /l %%a in (10,-1,0) do (echo %%a)
复制代码

  1. @echo off
  2. set "num=11 10 9 8 7 6 5 4 3 2 1 0"
  3. call :print %num%
  4. :print %num%
  5. shift /1
  6. echo. %1
  7. if "%1" equ "" (echo OVER!&pause&exit) else (goto :print)
复制代码


[ 本帖最后由 BBCC 于 2008-11-10 21:04 编辑 ]
1

评分人数

    • wxcute: 很好,用两种方法。还有其他方法吗?PB + 18

TOP

  1. @echo off
  2. for /l %%i in (10,-1,1) do echo %%i
  3. pause
复制代码
刚看到,来练习一下

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

评分人数

    • wxcute: 有点小错误,不过影响不大。PB + 8
目的,学习批处理

TOP

延时不是很清楚。先试下一种了。
  1. @echo off
  2. for /l %%a in (10,-1,0) do @ping -n 2 127.1>nul>nul & echo %%a
  3. pause
复制代码
1

评分人数

    • wxcute: 很好,继续努力PB + 8

TOP

  1. @IF NOT DEFINED DEBUG @ECHO OFF
  2. SET A=
  3. :LOOP
  4. SET /A A+=1
  5. ECHO %A%
  6. PING -w 2 -n 2 127.0.0.1 >NUL 2>&1
  7. IF %A% EQU 10 GOTO END
  8. GOTO LOOP
  9. :END
  10. ECHO E.O.F.
复制代码
1

评分人数

    • wxcute: 大侠也来捧场,多谢多谢。PB + 9

TOP

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

评分人数

TOP

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

[ 本帖最后由 sd6733531 于 2008-11-16 08:14 编辑 ]
1

评分人数

TOP

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

评分人数

TOP

@echo off
for /l %%a in (10,-1,0) do @ping -n 2 127.1>nul&cls & echo %%a
pause >nul
1

评分人数

    • wxcute: 不错,效果也有了。PB + 6

TOP

  1. @echo off
  2. for %%i in (10 9 8 7 6 5 4 3 2 1) do (
  3. echo %%i
  4. for /l %%i in (1 1 10) do (ping 1>nul)
  5. cls
  6. )
  7. pause>nul
复制代码
1

评分人数

TOP

@echo off
for /l %%i in (10 -1 1) do (
   echo %%i
   ping /n 1 127.1>nul
)
pause
1

评分人数

    • wxcute: 加分鼓励。学会像其他楼层一样用 code 把代 ...PB + 3

TOP

我也来一下。。
  1. @echo off
  2. set /p a=请输入:
  3. cls
  4. for /l %%i in (%a% -1 0) do echo 离爆炸时间还有:%%i秒!----快跑----^>&ping -n 2 127.1 >nul&cls
复制代码
1

评分人数

TOP

学习与游戏并进(尽自己的努力把前面的知识加入进来):

@echo off
    echo      正在进入倒计时10秒....请稍候....
    for /l %%a in (10,-1,0) do ( echo %%a
          if %%a equ 0 goto end
    for /l %%b in (1 1 3600) do ver>nul)
%0&cls

:end
    (mode con cols=60 lines=15
    set c=00F53462B89AC7ED10
    set /a num=%random%%%18
    call set col=%%c:~%num%,2%%
    COLOR %col%
    echo.
    echo.
    echo                  游戏正在装载中.......
    ping -n 1 127.1>nul&goto end)
1

评分人数

    • wxcute: 请用 code 将代码括起来,参考: http://b ...PB + 2

TOP

  1. echo off
  2. set num=0
  3. :start
  4. cls
  5. set /a num+=1
  6. set str=10 9 8 7 6 5 4 3 2 1 0
  7. for /f "tokens=%num% delims= " %%a in ("%str%") do (
  8. echo.&echo          %%a&ping -n 2 127.1>nul)
  9. if not "%num%"=="11" goto start
  10. echo 已经完成请按任意键退出
  11. pause>nul
复制代码
1

评分人数

TOP

返回列表