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

[特效代码] 求批处理进度条

进度条,60秒减少一格,10分钟减完
代码如下,怎么调试也不显示进度条
求大神帮忙
  1. @echo off&setlocal enabledelayedexpansion
  2. mode con cols=113 lines=20 &color 9f
  3. set a=■■■■■■■■■■
  4. for /l %%i in (600,-1,1) do (
  5. cls
  6. set /a n=%%i%60
  7. set /a m=60
  8. if !n! geq 60 set /a m-=1
  9. echo After %%i seconds ,start thunder
  10. echo !a:~-%m%!
  11. ping /n 2 127.1 >nul
  12. )
复制代码

[attach]11654[/attach]

TOP

  1. @echo off&setlocal enabledelayedexpansion
  2. mode con cols=113 lines=20 &color 9f
  3. set "bar=■■■■■■■■■■"
  4. for /l %%i in (600,-1,0) do (
  5. if %%i neq 600 (set/a "num=%%i%%60")
  6. if defined num if !num! equ 0 set bar=!bar:~,-1!
  7. cls
  8. echo After %%i seconds ,start thunder
  9. echo;!bar!
  10. ping /n 2 127.1 >nul
  11. )
  12. pause
复制代码
QQ 33892006

TOP

本帖最后由 SQYSQYSQY 于 2019-1-5 22:21 编辑

回复 1# xiaoguren
  1. @echo off&setlocal enabledelayedexpansion
  2. mode con cols=113 lines=20 &color 9f
  3. set "a=■■■■■■■■■■"
  4. for /l %%a in (600 -1 1) do (
  5. set /a "b=(%%a+59)/60"
  6. cls
  7. echo After %%a seconds ,start thunder
  8. for %%b in (!b!) do echo !a:~0,%%b!
  9. ping -n 2 127.1 >nul
  10. )
  11. cls
  12. echo After 0 seconds ,start thunder
  13. pause >nul
复制代码
我调试过的,没问题

TOP

我这有一个不用开启变量延迟的方法。
:start
cls
set a=10
set b=■■■■■■■■■■
:jindu
cls
set /a a=a-1
if "%a%"=="9" set b=■■■■■■■■■
if "%a%"=="8" set b=■■■■■■■■
if "%a%"=="7" set b=■■■■■■■
if "%a%"=="6" set b=■■■■■■
if "%a%"=="5" set b=■■■■■
if "%a%"=="4" set b=■■■■
if "%a%"=="3" set b=■■■
if "%a%"=="2" set b=■■
if "%a%"=="1" set b=■
if "%a%"=="0" goto kaishi
echo 还剩%a%秒
echo %b%
ping /n 2 127.0.0.1>nul
goto jindu
已测试,没问题。

TOP

回复 5# Zhou.
说错了!
:start
cls
set a=10
set b=■■■■■■■■■■
:jindu
cls
set /a a=a-1
if "%a%"=="9" set b=■■■■■■■■■
if "%a%"=="8" set b=■■■■■■■■
if "%a%"=="7" set b=■■■■■■■
if "%a%"=="6" set b=■■■■■■
if "%a%"=="5" set b=■■■■■
if "%a%"=="4" set b=■■■■
if "%a%"=="3" set b=■■■
if "%a%"=="2" set b=■■
if "%a%"=="1" set b=■
if "%a%"=="0" goto kaishi
echo 还剩%a%秒
echo %b%
ping /n 2 127.0.0.1>nul
goto jindu

:kaishi
echo 成功!
pause
exit

TOP

回复 6# Zhou.


    记得前面加上@echo off

TOP

返回列表