[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖
  1. @echo off
  2. setlocal enabledelayedexpansion
  3. for /l %%i in (-9 1 -1) do (
  4.      set /a a=-1*%%i
  5.      echo !a!
  6.      ping /n 3 127.1 >nul &cls)
  7. pause>nul
复制代码
1

评分人数

    • wxcute: 原来是负负得正,速度慢了点。PB + 1

TOP

原帖由 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%  


  亲自测试了,只是不明白为什么重复一次刚好一秒呢??

TOP

回复 62楼 的帖子

if %t1% neq %t0%
关键是这句,根据测试秒位是否变化来判断是否走时一秒。
批处理之家论坛官方 QQ 群 :【当前人数/人数上限】【2009-07-08】
群①:43011867(181/200);群②:(暂缺数据);群③:66165582(120/200)。

TOP

惨了,我的cmd帮助信息全变E文了,有没有办法改回来啊?

谢谢楼主的解释

[ 本帖最后由 nopr 于 2009-8-6 13:49 编辑 ]

TOP

回复 64楼 的帖子

(*^_^*)

TOP

set t=10
for /l %%i in (%t% -1 0) do echo 倒计时%%i&ping -n 2 127.1 >nul&cls

TOP

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

[ 本帖最后由 hs4814 于 2009-8-9 20:00 编辑 ]

TOP

  1. @echo off
  2. set m=10
  3. :a
  4. echo %m%
  5. set /a m-=1
  6. ping -n 2 127.1>nul
  7. if %m%==0 echo 时间到&&pause>nul&exit
  8. cls
  9. goto a
复制代码

[ 本帖最后由 wayaoqiang 于 2009-8-17 21:02 编辑 ]

TOP

@echo off
set /p=<nul
for /l %%a in (10,-1,1) do echo %%a
pause>nul

怎么没特效的感觉阿!
郁闷!不会用set /p=<nul

TOP

看看这个代码:
@echo off
for /l %%i in (10,-1,0) do (
::下面一句是起到了延迟时间的作用,什么也不输出。
for /l %%j in (10000,-1,0) do echo %%j>nul
echo %%i
)
pause

TOP

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

TOP

不知道这个符合要求不
@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

TOP

方法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 编辑 ]

TOP

@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次该怎么做

TOP

@echo off
for /l %%a in (1,1,10) do (
for /l %%i in (1,1,1000) do echo.>nul
echo %%a
)
pause>nul

这样也可以,呵呵

TOP

返回列表