标题: [ 新手习题 4 ] 批处理循环十秒倒计时 [打印本页]
作者: wxcute 时间: 2008-11-10 18:47 标题: [ 新手习题 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
作者: pusofalse 时间: 2008-11-10 19:53
只要知道循环命令for或goto 的基本用法就能解答此题了。
如果要有延时的效果,就要知道任何命令的运行都是要消耗时间的,想办法把命令的结果屏蔽掉就能有延时的效果。
如果要在同一行中显示就得要借助set /p了。
综合性题目,适合新手练功。。。
作者: BBCC 时间: 2008-11-10 20:42
- @for /l %%a in (10,-1,0) do (echo %%a)
复制代码
- @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)
复制代码
[ 本帖最后由 BBCC 于 2008-11-10 21:04 编辑 ]
作者: hlzj88 时间: 2008-11-10 22:34
- @echo off
- for /l %%i in (10,-1,1) do echo %%i
- pause
复制代码
刚看到,来练习一下
[ 本帖最后由 hlzj88 于 2008-11-10 22:36 编辑 ]
作者: nomyself 时间: 2008-11-11 19:44
延时不是很清楚。先试下一种了。- @echo off
- for /l %%a in (10,-1,0) do @ping -n 2 127.1>nul>nul & echo %%a
- pause
复制代码
作者: sylovanas 时间: 2008-11-11 20:21
- @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.
复制代码
作者: akiraakito 时间: 2008-11-14 20:49
- @echo off
- for /l %%a in (10,-1,1) do (
- echo %%a
- )
- pause>nul
复制代码
作者: sd6733531 时间: 2008-11-16 08:12
- @echo off
- echo --------倒计时-------------
- for /l %%i in (10,-1,0) do (echo %%i)
- echo ---------------------------
- pause>nul
复制代码
[ 本帖最后由 sd6733531 于 2008-11-16 08:14 编辑 ]
作者: stalker 时间: 2008-11-18 19:43
- @echo off
- for /l %%i in (10 -1 0) do echo %%i
- pause>nul
复制代码
作者: h5599859 时间: 2008-11-19 12:10
@echo off
for /l %%a in (10,-1,0) do @ping -n 2 127.1>nul&cls & echo %%a
pause >nul
作者: firewolf85 时间: 2008-12-7 18:56
- @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>nul
复制代码
作者: qqha001 时间: 2008-12-11 16:03
@echo off
for /l %%i in (10 -1 1) do (
echo %%i
ping /n 1 127.1>nul
)
pause
作者: heng520 时间: 2008-12-12 14:51
我也来一下。。- @echo off
- set /p a=请输入:
- cls
- for /l %%i in (%a% -1 0) do echo 离爆炸时间还有:%%i秒!----快跑----^>&ping -n 2 127.1 >nul&cls
复制代码
作者: RiceFans 时间: 2008-12-23 11:38
学习与游戏并进(尽自己的努力把前面的知识加入进来):
@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)
作者: glbosom 时间: 2008-12-23 22:45
- 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>nul
复制代码
作者: zhouyongjun 时间: 2008-12-24 16:02
- @echo off&setlocal enabledelayedexpansion
- color 1f&mode con cols=20 lines=12
- echo.
- set num=6 -1 2 -3 , 6 -1 2 -1 2 -1 , 6 -1 2 -1 2 -1 , 6 -1 2 -1 2 -1 , 6 -1 2 -3 # ^
- 6 -4 , 6 -1 4 -1 , 6 -4 , 12 -1 , 6 -4 # ^
- 6 -4 , 6 -1 4 -1 , 6 -4 , 6 -1 4 -1 , 6 -4 # ^
- 6 -4 , 12 -1 , 12 -1 , 12 -1 , 12 -1 # ^
- 6 -4 , 6 -1 , 6 -4 , 6 -1 4 -1 , 6 -4 # ^
- 6 -4 , 6 -1 , 6 -4 , 12 -1 , 6 -4 # ^
- 6 -1 2 -1 , 6 -1 2 -1 , 6 -4 , 10 -1 , 10 -1 # ^
- 6 -4 , 12 -1 , 6 -4 , 12 -1 , 6 -4 # ^
- 6 -4 , 12 -1 , 6 -4 , 6 -1 , 6 -4 # ^
- 9 -1 , 9 -1 , 9 -1 , 9 -1 , 9 -1 # ^
- 6 -4 , 6 -1 4 -1 , 6 -1 4 -1 , 6 -1 4 -1 , 6 -4 #
- for %%i in (%num%) do (
- set a=%%i&set b=!a:-=!
- if "%%i"=="," echo.
- if "%%i"=="#" ping/n 2 127.1 >nul&cls&echo.
- if %%i lss 0 (for /l %%a in (1,1,!b!) do set/p=▓<nul) else (
- for /l %%b in (1,1,!b!) do set/p= <nul
- ))
复制代码
作者: xiong8707 时间: 2008-12-24 20:51 标题: 这个可以
- @echo off
- echo 10&@ping 127.0.0.1 -n 2 >nul&cls
- echo 9&@ping 127.0.0.1 -n 2 >nul&cls
- echo 8&@ping 127.0.0.1 -n 2 >nul&cls
- echo 7&@ping 127.0.0.1 -n 2 >nul&cls
- echo 6&@ping 127.0.0.1 -n 2 >nul&cls
- echo 5&@ping 127.0.0.1 -n 2 >nul&cls
- echo 4&@ping 127.0.0.1 -n 2 >nul&cls
- echo 3&@ping 127.0.0.1 -n 2 >nul&cls
- echo 2&@ping 127.0.0.1 -n 2 >nul&cls
- echo 1&@ping 127.0.0.1 -n 2 >nul&cls
- echo 0&@ping 127.0.0.1 -n 2 >nul&cls
复制代码
作者: xiong8707 时间: 2008-12-27 00:47 标题: 通过一天的学习,又写了一个;
[code]
@echo off
echo 你的电脑马上就要被此程序摧毁。
ping 127.0.0.1>nul
cls
for /l %%b in (10,-1,0) do cls&echo 倒计时开始!!!%%b &for /l %%a in (10000,-1,0) do echo %%a>nul
color 1f&mode con cols=550 lines=270
:aaa
color 11
color 21
color 31
color 41
color 51
color 61
color 71
color 81
color 91
color a1
color b1
color c1
color d1
color e1
color f1
goto aaa
[/cpde]
修改了一下,希望能把被删除的分补过来...
[ 本帖最后由 xiong8707 于 2008-12-29 22:13 编辑 ]
作者: xiong8707 时间: 2008-12-27 00:51
提示: 该帖被管理员或版主屏蔽
作者: wxcute 时间: 2008-12-28 19:23 标题: 回复 18 楼 [ xiong8707 ] 的帖子
请勿在新手区放恶作剧代码
请及时修改,否则扣分。
作者: xiong8707 时间: 2008-12-28 23:21 标题: 迷糊
又不是真的把电脑摧毁...
作者: tireless 时间: 2008-12-29 22:48
- @echo off
- set /p=倒计时 10 秒<nul
- ping -n 2 127.1>nul
-
- set /p= 9 <nul
- ping -n 2 127.1>nul
-
- for /l %%a in (8 -1 1) do (
- set /p=%%a<nul
- ping -n 2 127.1>nul
- )
复制代码
作者: hidden 时间: 2009-1-12 22:40
@echo off
for /l %%f in (10 -1 1) do echo %%f
pause>nul
作者: hidden 时间: 2009-1-12 22:53
@echo off
for /l %%a in (10 -1 1) do (
echo %%a
ping -n 2 127.1>nul
)
作者: skuny 时间: 2009-1-13 13:30
@ECHO OFF
set /a m=11
:111
set /a m-=1
if %m% geq 1 echo %m%&goto 111
pause
作者: zcy85611 时间: 2009-1-13 13:41
- @echo off
- color 0a
- for /l %%a in (10 -1 1) do (
- echo %%a
- for /l %%a in (1 1 1000) do ver>nul
- )
- pause>nul
复制代码
作者: p05401144 时间: 2009-1-14 08:31
虽然不一秒一个,但是也很慢
@echo off
for /l %%i in (10,-1,1) do (
for /l %%j in (10000,-1,1) do (echo %%j>nul)
echo %%i
)
pause>nul
作者: denev2004 时间: 2009-2-3 17:46
为什么不能用ping命令?
ping了一个后echo一个10,ping 了下一个再echo一个9 。 。 。 。或者在for中镶嵌ping和echo也可以呀。 。 。
作者: kingerpk 时间: 2009-2-5 15:27
- @for /l %%a in (1,1,10) do echo %%b & ping -n 2 127.1>nul>nul & cls
- pause
复制代码
作者: zhangenming 时间: 2009-2-8 13:30
@echo off
for /l %%a in (1,1,10) do (
for /l %%i in (1,1,99) do (
ver>nul
)
echo %%a
)
pause
觉的代码有一点毛病 怎么修改啊 呵呵
就这一段:
)
echo %%a
)
作者: Batcher 时间: 2009-2-8 16:21 标题: 回复 30楼 的帖子
你觉得有啥毛病?
作者: zhangenming 时间: 2009-2-8 16:54 标题: 回复 31楼 的帖子
)
echo %%a
)
我觉的两个“)”应该连这吧
这样的格式:
)
)
可是那echo %%a应该放到哪里?
我觉的毛病出在了这里~
作者: a309624606 时间: 2009-2-10 14:03 标题: 回复 10楼 的帖子
很好你的 如果在开始的时候加上汉字的倒计时就更好了
作者: ccmvhd 时间: 2009-2-11 12:24
@echo off
set n=11
ne
set/a n-=1
if %n% gtr 0 (
echo %n%
ping /n 3 127.1>nul
goto :one
) else goto :end
:end
exit
作者: Batcher 时间: 2009-2-11 12:34 标题: 回复 32楼 的帖子
请养成代码缩进的好习惯- @echo off
- for /l %%a in (1,1,10) do (
- for /l %%i in (1,1,99) do (
- ver>nul
- )
- echo %%a
- )
- pause
复制代码
作者: aresk 时间: 2009-2-13 17:27
- @echo off
- for /l %%i in (10 -1 0) do (
- echo %%i
- ping -n 3 127.1>nul
- cls
- )
- pause&exit
复制代码
作者: irresolute 时间: 2009-2-15 18:29 标题: 偶来试下
@echo off
for /l %%i in (10,-1,1) do (
echo %%i
ping -n 2 127.1>nul)
pause>nul
作者: TonyW 时间: 2009-2-22 11:20
- @echo off
- for /l %%i in (10 -1 1) do echo %%i & ping -n 2 0.0>nul
- pause
复制代码
参照论坛:http://bbs.bathome.net/thread-107-1-3.html
写出来的,在ping那段做了修改,但还是不明白ping的那一段的意义.望各位看到的话帮帮小弟,呵呵~感激不尽!!
作者: zjw767676 时间: 2009-2-25 23:59
- @echo off & setlocal EnableDelayedExpansion
- for /l %%i in (10 -1 0) do (
- set a=%%i
- set/p="!a!>>"<nul
- sleep 400
- )
- pause>nul
复制代码
作者: keen 时间: 2009-2-26 09:43
自习写的两种答案:
第一种if和set构造循环:
@echo off
setlocal enabledelayedexpansion
set /a a=11
:begin
set /a a-=1
if !a! lss 0 pause & exit
echo !a!
ping -n 2 -w 1 127.1 >nul
goto begin
第二种,for循环:
@echo off
for /l %%i in (10,-1,0) do ping -n 2 -w 1 127.1 >nul & echo %%i
pause
作者: cjiabing 时间: 2009-2-26 10:11
- for /l %%a in (10,-1,1) do echo 单数倒计时——逐个输出: %%a&ping /n 2 127.0.1>nul&cls
- echo 竖向倒计时
- for /l %%a in (10,-1,1) do echo %%a&ping /n 2 127.0.1>nul
- echo 横向倒计时
- for /l %%a in (10,-1,1) do set/p a= ^%%a<nul&ping /n 2 127.0.1>nul
- echo.
- pause
复制代码
以前写的,出错了,为了避免误导他人修改了一下。
[ 本帖最后由 cjiabing 于 2010-9-18 23:20 编辑 ]
作者: cainiao736 时间: 2009-3-26 21:50
- @echo off
- for /l %%i in (10,-1,1) do echo %%i
- pause
复制代码
循环延迟暂时没搞懂
[ 本帖最后由 cainiao736 于 2009-3-26 22:01 编辑 ]
作者: huqianghui 时间: 2009-3-27 14:06
@echo off
echo %TIME%
for /L %%i in (10,-1,1) do (
ping /n 3 127.0.0.1>nul & echo %%i)
echo %TIME%
pause
作者: flyingsand 时间: 2009-3-28 14:20
刚好前段时间做过,结合了进度条的,不过进度条是参考别人的
-
- @echo off
- setlocal enabledelayedexpansion
- for /l %%t in (10,-1,1) do (
- cls
- set t=%%t
- set a=■
- set b=0
- echo.
- echo 倒计时 !t!
- echo.
- echo ╔══════════════════════════════╗
- echo.
- echo ╚══════════════════════════════╝
- call :jindu
- )
- goto exit
- :jindu
- ping -n 1 127.1 >nul
- cls
- set a=%a%■■■
- set /a b=b+10
- echo.
- echo 倒计时 !t!
- echo.
- echo ╔══════════════════════════════╗
- echo %a%
- echo ╚══════════════════════════════╝
- if %b% geq 100 echo & goto :eof
- goto jindu
- :exit
- exit
复制代码
作者: energy2009 时间: 2009-4-9 22:06
- @echo off
- for /l %%i in (10,-1,1) do echo %%i&ping -n 2 127.1>nul
- pause
复制代码
作者: energy2009 时间: 2009-4-9 22:07
- @echo off
- for /l %%i in (10,-1,1) do echo %%i&ping -n 2 127.1>nul
- pause
复制代码
作者: sjzong 时间: 2009-4-22 02:17 标题: 我也来一个!
- @echo off
- setlocal enabledelayedexpansion
- for /l %%a in (10 -1 0) do (
- if %%a equ 10 (set/p=%%a<nul) else (set/p= %%a<nul)
- for /l %%1 in (1 1 100) do (call echo %time%>nul)
- )
复制代码
[ 本帖最后由 sjzong 于 2009-4-22 02:19 编辑 ]
作者: inittab 时间: 2009-4-22 09:24
不用ping .用%time% 比较精确- @echo off
- set /a t=10,t1=0
- :begin
- set t0=%t1%
- set tt=%time%
- set t1=%tt:~6,2%
- if %t1% neq %t0% (set/p=%t% <nul&set/a t-=1)
- if %t% lss 0 (goto :eof)
- goto :begin
复制代码
[ 本帖最后由 inittab 于 2009-7-5 21:15 编辑 ]
作者: luo603294 时间: 2009-4-22 10:06
- @echo off
- for /l %%i in (10,-1,1) do (echo.%%i
- ping -n 2 127.1>nul
- )
- pause
复制代码
嘿嘿 终于知道怎么帖代码的了^_^
作者: xiaotian 时间: 2009-5-5 16:16
@echo off
for /l %%i in (10,-1,0) do echo %%i
pause>nul
作者: hacker_ 时间: 2009-6-27 09:10
本人菜用得也是笨方法
@echo off
echo 10
ping -n 2 127.1 >nui
echo 9
ping -n 2 127.1 >nui
echo 8
ping -n 2 127.1 >nui
echo 7
ping -n 2 127.1 >nui
echo 6
ping -n 2 127.1 >nui
echo 5
ping -n 2 127.1 >nui
echo 4
ping -n 2 127.1 >nui
echo 3
ping -n 2 127.1 >nui
echo 2
ping -n 2 127.1 >nui
echo 1
pause
作者: Taurus 时间: 2009-7-2 22:28
巡环倒顺
@echo off &set num=10
:loop
cls & echo %num%
if %num%==10 ( set A=- )
if %num%==0 ( set A=+ )
set /a num%A%=1
ping /n 2 127.1>nul
goto :loop
[ 本帖最后由 Taurus 于 2011-2-6 01:17 编辑 ]
作者: liaobiaoxing 时间: 2009-7-3 21:10
- @echo off
- set a=10
- :loop
- echo %a%
- set /a a-=1
- if %a%==0 goto end
- ping -n 2 127.0.0.1 >nul
- goto loop
- :end
- pause>nul
复制代码
作者: yinsigan 时间: 2009-7-6 21:08
@echo off
for %%i in (10 9 8 7 6 5 4 3 2 1) do echo %%i
pause & exit
作者: 风行者 时间: 2009-7-12 22:18
- @echo off & color 2f
- mode con cols=20 lines=2
- echo wscript.sleep 1000 >"%temp%\sleep.vbs"
- set /p=10秒后自动启动<NUL
- for /l %%i in (9 -1 0) do (
- "%temp%\sleep.vbs"
- set /p= <NUL
- set /p=%%i<NUL
- )
- msg %username% "启动完成!"
复制代码
作者: lsp19880301 时间: 2009-7-26 10:32
我写的可能比较白一点
echo off
set a=10 9 8 7 6 5 4 3 2 1
for %%i in (%a%) do echo %%i
pause>nul.
作者: benz1979 时间: 2009-7-26 15:14
@echo off
set a=11
:res
set /a a-=1
ping -n 2 127.0.0.1>nul>nul
cls
echo %a%
if %a% gtr 0 goto res
pause
作者: lee 时间: 2009-7-26 23:04
@echo off
for /l %%i in (10,-1,0) do (
echo %%i
ping -n 2 127.1>nul
)
pause
新手,初来乍到,请多指教!
作者: dazheng 时间: 2009-7-29 17:37 标题: 新手练习
@echo off & mode con cols=31 lines=15
title 倒计时
@echo.&@echo.&@echo.
@echo 倒计时开始:
setlocal enabledelayedexpansion
set num=10
:begin
if not !num! equ 0 for /f %%a in ("%num%")do (@echo %%a & ping /n 2 127.1>nul & set /a num-=1 & goto begin) else (pause>nul)
作者: jiayaoqin 时间: 2009-8-6 11:57
@echo off
for %%a in (10,9,8,7,6,5,4,3,2,1) do echo %%a
pause>nul
作者: nopr 时间: 2009-8-6 12:51
- @echo off
- setlocal enabledelayedexpansion
- for /l %%i in (-9 1 -1) do (
- set /a a=-1*%%i
- echo !a!
- ping /n 3 127.1 >nul &cls)
- pause>nul
复制代码
作者: nopr 时间: 2009-8-6 13:17
原帖由 inittab 于 2009-4-22 09:24 发表
不用ping .用%time% 比较精确@echo off
set /a t=10,t1=0
:begin
set t0=%t1%
set tt=%time%
set t1=%tt:~6,2%
if %t1% neq %t0% (set/p=%t%
亲自测试了,只是不明白为什么重复一次刚好一秒呢??
作者: wxcute 时间: 2009-8-6 13:41 标题: 回复 62楼 的帖子
if %t1% neq %t0%
关键是这句,根据测试秒位是否变化来判断是否走时一秒。
作者: nopr 时间: 2009-8-6 13:48
惨了,我的cmd帮助信息全变E文了,有没有办法改回来啊?
谢谢楼主的解释
[ 本帖最后由 nopr 于 2009-8-6 13:49 编辑 ]
作者: keen 时间: 2009-8-6 14:41 标题: 回复 64楼 的帖子
请参看:
http://www.bathome.net/thread-5419-1-3.html
作者: canyuexiaolang 时间: 2009-8-8 15:49
set t=10
for /l %%i in (%t% -1 0) do echo 倒计时%%i&ping -n 2 127.1 >nul&cls
作者: hs4814 时间: 2009-8-9 19:28
- @echo off
- for /l %%i in (10,-1,1) do (echo 倒计时: %%i &ping /n 3 127.0.0.1 >nul
- )
- pause>nul
复制代码
[ 本帖最后由 hs4814 于 2009-8-9 20:00 编辑 ]
作者: wayaoqiang 时间: 2009-8-12 17:22
- @echo off
- set m=10
- :a
- echo %m%
- set /a m-=1
- ping -n 2 127.1>nul
- if %m%==0 echo 时间到&&pause>nul&exit
- cls
- goto a
复制代码
[ 本帖最后由 wayaoqiang 于 2009-8-17 21:02 编辑 ]
作者: Hysteria 时间: 2009-8-15 05:07
@echo off
set /p=<nul
for /l %%a in (10,-1,1) do echo %%a
pause>nul
怎么没特效的感觉阿!
郁闷!不会用set /p=<nul
作者: couth 时间: 2009-8-19 12:42
看看这个代码:
@echo off
for /l %%i in (10,-1,0) do (
::下面一句是起到了延迟时间的作用,什么也不输出。
for /l %%j in (10000,-1,0) do echo %%j>nul
echo %%i
)
pause
作者: qq506657335 时间: 2009-8-19 15:11
@echo off
for /l %%i in (10 -1 0) do echo %%i
pause>nul
作者: qq506657335 时间: 2009-8-19 15:18
不知道这个符合要求不
@echo off
echo 10
ping /n 1 \\. >nul
cls
echo 9
ping /n 1 \\. >nul
cls
echo 8
ping /n 1 \\. >nul
cls
echo 7
ping /n 1 \\. >nul
cls
echo 6
ping /n 1 \\. >nul
cls
echo 5
ping /n 1 \\. >nul
cls
echo 4
ping /n 1 \\. >nul
cls
echo 3
ping /n 1 \\. >nul
cls
echo 2
ping /n 1 \\. >nul
cls
echo 1
ping /n 1 \\. >nul
cls
echo 0
ping /n 1 \\. >nul
cls
echo 没了
pause>nul
作者: DXSX 时间: 2009-8-25 19:48
方法1: 利用 PING
@echo off
set /a m=10
:loop
echo %m%
ping -n 2 127.0.0.1 >nul
set /a m=%m%-1
if %m% EQU 0 goto end
goto loop
:end
方法2: 利用 循环判断 %TIME% 变量的秒数部分变化 但是要求 电脑要购快,至少应该在1秒内循环一次。
值得注意的是,SET /A 不能把 09,08,07 之类的数值正常赋值,必须把0去掉,因为系统会把09,08 之类的认为是文本变量。
@echo off
ECHO 10
set /a m=9
IF "%time:~6,1%"=="0" (set /a t0=%time:~7,1% ) ELSE (set /a t0=%time:~6,2%)
:loop
IF "%time:~6,1%"=="0" (set /a t=%time:~7,1% ) ELSE (set /a t=%time:~6,2%)
if %t% neq %t0% (set /a m=%m%-1 & set /a t0=%t% & echo %m%)
if %m% equ 0 goto end
goto loop
:end
[ 本帖最后由 DXSX 于 2009-8-26 11:14 编辑 ]
作者: yhd316 时间: 2009-9-14 18:32
@echo off
:agen
echo ----开心倒计时---------
for /l %%a in (10,-1,0) do @ping -n 2 127.1>nul&cls&echo %%a
echo 傻瓜你被耍啦 & @ping -n 3 127.1>nul&cls
goto agen
想问楼主如果我想让他只循环出现3次该怎么做
作者: mm546863903 时间: 2009-9-24 16:50
@echo off
for /l %%a in (1,1,10) do (
for /l %%i in (1,1,1000) do echo.>nul
echo %%a
)
pause>nul
这样也可以,呵呵
作者: drefong 时间: 2009-10-3 11:49
@echo off
:again
for /l %%i in (10,-1,1) do ( ping -n 2 127.1 >nul 2>nul&echo %%i
)
goto again
pause
作者: zcydez 时间: 2009-10-18 16:41
@echo off
set a=10
set b=%a%
:a
if %a% neq 0 (goto b) else exit
:b
cls
echo %a%
ping -n 2 127.0.1>nul
set /a a=%b%-1
set b=%a%
goto a
作者: kiss3735707 时间: 2009-10-19 16:59 标题: 怎样用批处理完成登陆交换机?
用批处理完成登陆某交换机
IP192.168.1.2
UID admin
pwd admin
telnet 192.168.1.2
admin
admin
作者: pumahxh 时间: 2009-10-24 15:00
a- @echo off
- setlocal enabledelayedexpansion
- set a=10
- for /l %%i in (1,1,10) do (
- set a=11
- set /a a-=%%i
- echo !a!
- )
- pause
复制代码
作者: ghostwar 时间: 2009-10-25 06:40
- @echo off
- set "war=198989"
- set/p "aaa=请输入密码"
- if "%aaa%" equ " war" echo (登陆成功!)else (登陆失败!)
- pause
复制代码
作者: pumahxh 时间: 2009-11-10 18:05 标题: 10秒倒计时
- @echo off&cls
- for /l %%i in (10,-1,1) do (
- echo 倒计10秒:%%i
- ping -n 2 127.1>nul
- cls )
- pause>nul
复制代码
看了下,早已有人用此法了。
作者: zgq0301 时间: 2009-11-11 14:05
第一种最笨的方法:
@echo off
for %%i in (10,9,8,7,6,5,4,3,2,1,0) do (
echo %%i
)
pause
作者: qingyuedufeng 时间: 2009-11-11 23:25
- @echo off
- for /l %%a in (10,-1,1) do (
- echo %%a
- ping -n 2 127.1 >nul
- cls
- )
- pause>nul
复制代码
或者:- @echo off
- set "a=10"
- :Start
- echo %a%
- ping -n 2 127.1>nul & cls
- set/a a-=1
- if %a% gtr 0 goto Start
- pause>nul
复制代码
作者: zgq0301 时间: 2009-11-12 09:43
@echo off
set var=10
:loop
echo %var%
set /a var-=1
ping -n 2 127.1>nul
if %var% neq 0 goto loop
pause>nul
作者: bamboo 时间: 2009-11-20 14:55
- @echo off
- for /l %%a in (10 -1 1) do (
- echo %%a && ping 127.1 -n 2 >nul
- )
- echo 按任意键退出!
- pause>nul
复制代码
我先用ping 1 -n 1 -w 1000 >nul来计时,发现倒计时显示完的用时超过10s,而用ping 127.1 -n 2 >nul在10s左右,想来用这样的倒计时应该都会比10s多一些用时吧。
作者: ljjllj 时间: 2009-11-26 15:26
用IF+GOTO写的````
- @echo off
- set a=10
- echo %a%
- :first
- if %a% gtr 0 goto home else goto end
- :home
- set /a a=%a%-1
- echo %a%
- if %a% gtr 0 goto first else goto end
- :end
- pause
复制代码
[ 本帖最后由 ljjllj 于 2009-11-26 15:29 编辑 ]
作者: feidian1028 时间: 2009-11-26 16:23
@ echo off&setlocal enabledelayedexpansion
for /l %%i in (1,1,10) do set /a var=11-%%i&echo !var!
pause
作者: gbw911 时间: 2009-11-29 12:51
@echo off
for /l %%i in (10 -1 1) do echo %%i
pause>nul
作者: taomin0926 时间: 2009-11-29 16:35 标题: 回复 1楼 的帖子
@echo off
echo 10
ping -n 1 127.0.0.1>nul
cls
echo 9
ping -n 1 127.1>nul
cls
.......
这样下去也可以的啊
作者: caruko 时间: 2009-12-2 09:20
msg %username% /w /v 点击OK计时开始
for /l %%i in (10,-1,1) do (
msg %username% /time:1 /v %%i
)
这么有趣的用法,应该没人发过吧..
[ 本帖最后由 caruko 于 2009-12-2 10:32 编辑 ]
作者: caruko 时间: 2009-12-2 14:54
除了MSG超时,其实也可以用choice超时,不过只是基本精确吧..
@echo off
for /l %%i in (10,-1,1) do choice /d y /T 1 >nul&echo %%i
不过计时过程中,按任意键都会暂停计时1秒...
作者: x576380361 时间: 2009-12-3 14:04
要求:从 10 数到 0;
方法不限;
不需要精确地按秒来显示,显示成 10 行也没关系。
1- @echo off
- for /l %%i in (10 -1 0) do (
- echo %%i
- ping /n 2 127.0.0.1>nul
- )
- pause>nul
复制代码
2- @echo off
- set a= 10 9 8 7 6 5 4 3 2 1
- for %%i in (%a%) do (
- set /p=%%i <nul
- ping /n 2 127.0.0.1>nul
- )
- pause>nul
复制代码
作者: wsjxwj 时间: 2009-12-11 14:14
for /l %%a in (10,-1,1) do echo %%a
作者: wsjxwj 时间: 2009-12-11 14:21
按秒显示
@echo off
for /l %%a in (10,-1,1) do (ping -n 3 127.0.0.1>nul&echo %%a)
作者: Fyk 时间: 2009-12-12 19:54
@echo off
for /l %%i in (10,-1,0) do echo %%i&ping -n 2 127.1>nul
作者: cryfordog 时间: 2009-12-13 01:52
- @echo off
- for /l %%i in (10,-1,0) do (
- set /p=%%i<NUL
- ping /n 2 127.1>nul
- set /p=<NUL
- set /p= <NUL
- set /p=<NUL
- )
- pause
复制代码
作者: lvyaojian 时间: 2009-12-13 12:02
- @echo off
- cls
- for /l %%i in (10,-1,0) do (
- echo %%i
- ping /n 1 /w 1000 99.99>nul
- cls
- )
- pause
复制代码
作者: Kenmick 时间: 2010-1-20 16:02 标题: 新手来交作业额~~~
- @echo off
- for /l %%i in (10 -1 0) do (
- echo %%i
- ping 127.0.0.1 >nul
- )
复制代码
运行之后就是觉得倒数的有点慢 - -b
作者: a590687 时间: 2010-1-20 21:38 标题: 用循环来延时
- @echo off&setlocal enabledelayedexpansion
- set a=11
- for /l %%i in (1 1 10) do (
- set /a a-=1
- echo !a!
- for /l %%j in (1 1 15) do (
- ping -n 0 172.1>nul
- )
- )
- pause
复制代码
作者: a590687 时间: 2010-1-20 21:42
发完才看到98楼的 -1不错. 呵呵,我 想都没想就写这么麻烦
欢迎光临 批处理之家 (http://bbs.bathome.net/) |
Powered by Discuz! 7.2 |