中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --

联盟域名:www.cn-dos.net  论坛域名:www.cn-dos.net/forum
DOS,代表着自由开放与发展,我们努力起来,学习FreeDOS和Linux的自由开放与GNU精神,共同创造和发展美好的自由与GNU GPL世界吧!

游客:  注册 | 登录 | 命令行 | 会员 | 搜索 | 上传 | 帮助 »
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » [推荐]看到不错的代码---实现进度条
作者:
标题: [推荐]看到不错的代码---实现进度条 上一主题 | 下一主题
onflypuma
新手上路





积分 16
发帖 7
注册 2007-12-4
状态 离线
『楼 主』:  [推荐]看到不错的代码---实现进度条

@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

2007-12-9 22:08
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
zerocq
中级用户




积分 458
发帖 196
注册 2006-10-5
状态 离线
『第 2 楼』:  

不错!!!!!!!!!!!!!!!

2007-12-10 12:32
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
bbs4033
初级用户





积分 22
发帖 10
注册 2008-1-1
状态 离线
『第 3 楼』:  

太好 了

2008-1-6 17:49
查看资料  发短消息 网志   编辑帖子  回复  引用回复
jia332
初级用户





积分 160
发帖 81
注册 2006-7-27
状态 离线
『第 4 楼』:  

这里高人太多了,本人就不敢说话了

2008-2-1 14:00
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
slore
铂金会员





积分 5212
发帖 2478
注册 2007-2-8
状态 离线
『第 5 楼』:  

代码不能同步……所以进度条也就只能看看罢了。。。
应用不起来。。。

2008-2-1 14:06
查看资料  发短消息 网志   编辑帖子  回复  引用回复
HAT
版主





积分 9023
发帖 5017
注册 2007-5-31
状态 离线
『第 6 楼』:  

在本版搜索“进度条”能找到很多方案: )

2008-2-1 14:33
查看资料  发短消息 网志   编辑帖子  回复  引用回复
jamiyang
初级用户





积分 26
发帖 12
注册 2007-12-31
状态 离线
『第 7 楼』:  

无法应用呀

2008-2-3 17:40
查看资料  发短消息 网志   编辑帖子  回复  引用回复
awera
初级用户





积分 94
发帖 36
注册 2005-9-19
状态 离线
『第 8 楼』:  

强人真多

2008-2-11 03:18
查看资料  发短消息 网志   编辑帖子  回复  引用回复
zncznc
新手上路





积分 16
发帖 8
注册 2008-2-15
状态 离线
『第 9 楼』:  

厉害啊。佩服

2008-2-15 05:08
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
knoppix7
银牌会员





积分 1287
发帖 634
注册 2007-5-2
来自 cmd.exe
状态 离线
『第 10 楼』:  



  Quote:
Originally posted by slore at 2008-2-1 02:06 PM:
代码不能同步……所以进度条也就只能看看罢了。。。
应用不起来。。。

之见过在FOR里用的。其他感觉没法用..

2008-2-16 20:44
查看资料  发短消息 网志   编辑帖子  回复  引用回复

请注意:您目前尚未注册或登录,请您注册登录以使用论坛的各项功能,例如发表和回复帖子等。


可打印版本 | 推荐给朋友 | 订阅主题 | 收藏主题



论坛跳转: