返回列表 发帖

[ 新手习题 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
1

评分人数

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

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

TOP

@for /l %%a in (10,-1,0) do (echo %%a)COPY

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


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

评分人数

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

TOP

@echo off
for /l %%i in (10,-1,1) do echo %%i
pauseCOPY
刚看到,来练习一下

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

评分人数

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

TOP

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

评分人数

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

TOP

@IF NOT DEFINED DEBUG @ECHO OFF
SET A=
:LOOP
SET /A A+=1
ECHO %A%
PING -w 2 -n 2 127.0.0.1 >NUL 2>&1
IF %A% EQU 10 GOTO END
GOTO LOOP
:END
ECHO E.O.F.COPY
1

评分人数

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

TOP

@echo off
for /l %%a in (10,-1,1) do (
    echo %%a
)
pause>nulCOPY
1

评分人数

TOP

@echo off
echo --------倒计时-------------
for /l %%i in (10,-1,0) do (echo %%i)
echo ---------------------------
pause>nulCOPY

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

评分人数

TOP

@echo off
for /l %%i in (10 -1 0) do echo %%i
pause>nulCOPY
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

@echo off
for %%i in (10 9 8 7 6 5 4 3 2 1) do (
echo %%i
for /l %%i in (1 1 10) do (ping 1>nul)
cls
)
pause>nulCOPY
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

我也来一下。。
@echo off
set /p a=请输入:
cls
for /l %%i in (%a% -1 0) do echo 离爆炸时间还有:%%i秒!----快跑----^>&ping -n 2 127.1 >nul&clsCOPY
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

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

评分人数

TOP

返回列表