中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --
联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟
中国DOS联盟论坛
现在时间是 2026-08-07 13:00
48,040 主题排行 / 350,125 发帖 / 今日 0 篇 / 48,252 会员排行
DOS批处理 & 脚本技术(批处理室) » [推荐]看到不错的代码---实现进度条
可打印版本  1,164 / 9
第1楼 onflypuma 发表于 2007-12-09 22:08
新手上路 发帖 7 积分 16
[推荐]看到不错的代码---实现进度条
@echo %dbg% off
mode con cols=113 lines=15 &color 9f
:starthome
cls
set a=^set /p=■%b%^<nul^&ping/n 0 127.1^>nul^&
echo.
echo 程序正在初始化. . .
echo.
echo ┌──────────────────────────────────────┐
set/p=  <nul&%a%%a%%a%%a%%a%%a%%a%%a%%a%%a%%a%%a%%a%%a%%a%%a%%a%%a%%a%%a%%a%%a%%a%%a%%a%%a%%a%%a%%a%%a%%a%%a%%a%%a%%a%
echo 100%%
echo └──────────────────────────────────────┘




set b=
set a=■
set /a z=100

:start
cls
set a=%a%■■
set /a b+=5
set /a z-=5
echo.
@echo 剩余进度 %z%%%

@echo ┌──────────────────────────────────────────┐
@echo %a% %b%%%
@echo └──────────────────────────────────────────┘

if %b% geq 100 goto num2
ping /n 0 127.1 >nul


set /a sum =5
goto start


:_exit
set /a sum-=1

set/p=%sum% 秒后退出! <nul
echo.
if %sum% EQU 0 exit
ping /n 2 127.1 >nul

goto _exit


rem 冲到一半再缩,冲到一半再加
:num2
setlocal EnableDelayedexpansion
set sum=
Set z=

set a=■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
set /a z1=52
set /a z2=52
:start2
cls
set sum52=
set /a z2=52
set /a sum+=1
set /a z1-=1
set b=!a:~%sum%!
set c=!a:~-%sum%!
call :_color
echo.
echo.
echo 剩余进度:%z1%%%
echo ┌──────────────────────────────────────────────────────┐
echo %b% %z1%%%
echo └──────────────────────────────────────────────────────┘
echo 当前颜色代码: COLOR 0!numca!
echo.
echo.
echo 当前进度:%sum%%%
echo ┌──────────────────────────────────────────────────────┐
echo %c% %sum%%%
echo └──────────────────────────────────────────────────────┘
echo 当前颜色代码: COLOR 0!numca!
if %sum% geq 52 call :sum52
ping /n 0 127.1 >nul

goto start2

:sum52
cls
set sum=
set /a z1=52
set /a sum52+=1
set /a z2-=1
set c=!a:~%sum52%!
set b=!a:~-%sum52%!

call :_color

echo.
echo.
echo 当前进度:%sum52%%%
echo ┌──────────────────────────────────────────────────────┐
echo %b% %sum52%%%
echo └──────────────────────────────────────────────────────┘
echo 当前颜色代码: COLOR 0!numca!
echo.
echo.
echo 剩余进度:%z2%%%
echo ┌──────────────────────────────────────────────────────┐
echo %c% %z2%%%
echo └──────────────────────────────────────────────────────┘
echo 当前颜色代码: COLOR 0!numca!
if %sum52% geq 52 call :start2
ping /n 0 127.1 >nul
cls
goto sum52


:_color
set _color=1234567890ABCDEF
set /a _random=%random%%%16
set numca=!_color:~%_random%,1!

color 0!numca!
goto :eof
第2楼 zerocq 发表于 2007-12-10 12:32
中级用户 发帖 196 积分 458
不错!!!!!!!!!!!!!!!
第3楼 bbs4033 发表于 2008-01-06 17:49
初级用户 发帖 10 积分 22
太好 了
第4楼 jia332 发表于 2008-02-01 14:00
初级用户 发帖 81 积分 160
这里高人太多了,本人就不敢说话了
第5楼 slore 发表于 2008-02-01 14:06
铂金会员 发帖 2,478 积分 5,212
代码不能同步……所以进度条也就只能看看罢了。。。
应用不起来。。。
第6楼 HAT 发表于 2008-02-01 14:33
版主 发帖 5,017 积分 9,023
在本版搜索“进度条”能找到很多方案: )
第7楼 jamiyang 发表于 2008-02-03 17:40
初级用户 发帖 12 积分 26
无法应用呀
第8楼 awera 发表于 2008-02-11 03:18
初级用户 发帖 36 积分 94
强人真多
第9楼 zncznc 发表于 2008-02-15 05:08
新手上路 发帖 8 积分 16
厉害啊。佩服
第10楼 knoppix7 发表于 2008-02-16 20:44
银牌会员 发帖 634 积分 1,287 来自 cmd.exe
Originally posted by slore at 2008-2-1 02:06 PM:
代码不能同步……所以进度条也就只能看看罢了。。。
应用不起来。。。



之见过在FOR里用的。其他感觉没法用..
[ 联系联盟系统管理团队 - 中国DOS联盟 - 标准版 ]
Sponsored by ifanr Inc | © 2001–2023