标题: [系统相关] [巳解决]请教批处理倒计时进度条问题 [打印本页]
作者: whwyd 时间: 2015-3-25 16:15 标题: [巳解决]请教批处理倒计时进度条问题
本帖最后由 whwyd 于 2015-3-26 12:58 编辑
下面这段批处理,进度条只能往前走,▉是一秒一个,一直到60秒60个为止,作为倒计时不太合适,我想让它一开始就有60个▉,然后一秒减一个到0秒全部减完,也就是让进度条倒着走,下面这段程序怎么改啊?请高手指教?- @echo off&mode con cols=114 lines=6
- color 70&title 倒计时60秒
- :star
- set /a work=0,n=0,mo=0,number=0,all=60
- set num=
- set time=%all%
- :check
- if %number% GTR %mo% set num=%num%▉&set /a mo=%mo%+1&goto check
- cls&echo.
- echo ★倒计时: %time% 秒
- echo.
- CurS /crv 0
- if not "%num%"=="" echo %num%
- if not "%num%"=="" echo %num%
- if %time%==0 pause>nul&goto start
- ping -n 2 127.1>nul
- set /a n=%n%+1
- set /a time=%all%-%n%
- set /a work=(%n%)*100/(%all%)
- set /a number=%work%/2
- set /a number=%number%+1
- goto check
复制代码
作者: pcl_test 时间: 2015-3-25 18:59
本帖最后由 pcl_test 于 2015-3-26 13:07 编辑
回复 1# whwyd - @echo off & setlocal enabledelayedexpansion
- mode con cols=132 lines=2
- title 倒计时60秒
- color 70
- set t=60
- for /l %%a in (0 1 60) do set s=!s!▉
- :begin
- cls
- echo, !s:~,%t%!(剩余%t%秒)
- set /a t-=1
- ping -n 2 0 >nul
- if %t% lss 0 pause >nul & exit
- goto begin
复制代码
作者: whwyd 时间: 2015-3-25 21:26
谢谢pcl_test,确实不错,达到了要求,高手。
作者: whwyd 时间: 2015-3-26 08:40
pcl_test您好,我想把这句echo !s:~,%t%!(剩余%t%秒)中的(剩余%t%秒)去掉,出现ECHO 处于关闭状态,怎么解决?谢谢!
作者: pcl_test 时间: 2015-3-26 10:26
本帖最后由 pcl_test 于 2017-4-10 07:19 编辑
echo, !s:~,%t%!
回复 5# whwyd
作者: whwyd 时间: 2015-3-26 12:58
非常完美,太感谢pcl_test 了。
欢迎光临 批处理之家 (http://bathome.net./) |
Powered by Discuz! 7.2 |