中国DOS联盟论坛

中国DOS联盟

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

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

游客:  注册 | 登录 | 命令行 | 会员 | 搜索 | 上传 | 帮助 »
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » 原创的模拟C盘检测进度条(应用截取字符和set /a命令)
作者:
标题: 原创的模拟C盘检测进度条(应用截取字符和set /a命令) 上一主题 | 下一主题
bat-zw
金牌会员

永远的学习者


积分 3105
发帖 1276
注册 2008-3-8
状态 离线
『楼 主』:  原创的模拟C盘检测进度条(应用截取字符和set /a命令)

原代码如下,有兴趣的朋友可以一起来研究下:
@echo off&&mode con cols=115 lines=8&setlocal EnableDelayedExpansion
color 9f&echo.&echo   5秒后将对C盘进行快速检测&ping -n 3 127.1 >nul
echo.&echo  经检测C盘空间总大小为819200kb,预计时间为80秒&ping -n 4 127.1 >nul
set u=■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
set se=-1
set b=0
for /l %%a in (1,1,50) do (
    for /l %%s in (0,1,15) do (
        call :show %%a
    )
)
cls&echo.&echo   已检测:819200kb,剩余:0kb                        已用时间80秒,剩余时间0秒
echo   ____________________________________________________________________________________________________
echo   !u:~0,50!已完成100%
echo   ____________________________________________________________________________________________________
ping -n 3 127.1 >nul&cls&echo.&echo  检测成功完成,请按键退出。
pause >nul
goto :eof
:show
set /a b+=1&set /a c=800-b&set /a m=s+1&set /a n=b/10&set /a k=80-n&set /a p=b*1024&set /a q=819200-p&set /a r=b/8
set /a se+=1
if %se% gtr 9 goto 2
goto 1
:2
set se=0
:1
set /a es=9-se
color %es%%se%
cls&echo.&echo   己检测:%p%kb,剩余:%q%kb                        己用时间%n%秒,剩余时间%k%秒
echo   ____________________________________________________________________________________________________
echo   !u:~0,%1!己完成%r%%%&ping -n 1 127.1 >nul&cls&goto :eof
echo   ____________________________________________________________________________________________________

[ Last edited by zw19750516 on 2008-3-10 at 04:09 AM ]

   此帖被 +8 点积分        点击查看详情   
评分人:【 523066680 分数: +8  时间:2008-7-28 09:47


2008-3-9 07:38
查看资料  发送邮件  发短消息 网志  OICQ (841615149)  编辑帖子  回复  引用回复
suntb
高级用户





积分 581
发帖 277
注册 2006-12-23
状态 离线
『第 2 楼』:  

还不错 不过屏幕色彩没必要变来变去的 全程黑底白字就好了

2008-3-9 11:45
查看资料  发短消息 网志   编辑帖子  回复  引用回复
faultcode
初级用户





积分 120
发帖 60
注册 2007-10-26
状态 离线
『第 3 楼』:  

很好 很强大~呵呵

2008-3-9 16:03
查看资料  发送邮件  发短消息 网志  OICQ (582954699)  编辑帖子  回复  引用回复
lee928
初级用户





积分 36
发帖 14
注册 2008-3-5
状态 离线
『第 4 楼』:  

不错!如果能真正利用到拷贝文件中就更好了!

2008-3-9 21:02
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
bat-zw
金牌会员

永远的学习者


积分 3105
发帖 1276
注册 2008-3-8
状态 离线
『第 5 楼』:  

关于这个我已经有了思路了,正在实现中。。。。。。。。。

2008-3-9 21:28
查看资料  发送邮件  发短消息 网志  OICQ (841615149)  编辑帖子  回复  引用回复
haiou327
高级用户

DOS时空


积分 713
发帖 348
注册 2007-2-10
状态 离线
『第 6 楼』:  



  Quote:
Originally posted by suntb at 2008-3-9 11:45 AM:
还不错 不过屏幕色彩没必要变来变去的 全程黑底白字就好了

修改了一下,借用楼主的脚本,按你的要求全程黑底白字.


@echo off&&mode con cols=115 lines=8&setlocal EnableDelayedExpansion
color 0f&echo.&echo   5秒后将对C盘进行快速检测&ping -n 2 127.1 >nul
echo.&echo  经检测C盘空间总大小为819200kb,预计时间为80秒&ping -n 2 127.1 >nul
set se=0123456789abcdef
set u=■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■
set se=0123456789abcdef
set b=0
for /l %%a in (1,1,50) do (
    for /l %%s in (0,1,15) do (
        call :show %%a %%s
    )
)
cls&echo.&echo   已检测:819200kb,剩余:0kb                        已用时间80秒,剩余时间0秒
echo   ____________________________________________________________________________________________________
echo   !u:~0,50!已完成100%
echo   ____________________________________________________________________________________________________
ping -n 3 127.1 >nul&cls&echo.&echo  检测成功完成,请按键退出。
pause >nul
goto :eof
:show
set /a b+=1&set /a c=800-b&set /a m=s+1&set /a n=b/10&set /a k=80-n&set /a p=b*1024&set /a q=819200-p&set /a r=b/8
color 0f  
cls&echo.&echo   己检测:%p%kb,剩余:%q%kb                        己用时间%n%秒,剩余时间%k%秒
echo   ____________________________________________________________________________________________________
echo   !u:~0,%1!己完成%r%%%&ping -n 1 127.1 >nul&cls&goto :eof
echo   ____________________________________________________________________________________________________


[ Last edited by haiou327 on 2008-3-10 at 02:43 AM ]



欢迎进入我的网盘!!!
2008-3-10 02:37
查看资料  发送邮件  访问主页  发短消息 网志  OICQ (52688226)  编辑帖子  回复  引用回复
zh159
金牌会员




积分 3687
发帖 1467
注册 2005-8-8
状态 离线
『第 7 楼』:  

对于批处理复制文件过程模拟进度条,基本上是徒劳;除了copy有个/z可以显示每个文件复制的百分比



2008-3-10 11:28
查看资料  发短消息 网志   编辑帖子  回复  引用回复
txiaowen
新手上路




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

好帖子啊,支持

2008-3-10 16:04
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
bat-zw
金牌会员

永远的学习者


积分 3105
发帖 1276
注册 2008-3-8
状态 离线
『第 9 楼』:  

在文件开头加入title命令郊果更好:
@echo off&&mode con cols=115 lines=8&setlocal EnableDelayedExpansion
title 磁盘快速检测程序
.....................................................

2008-3-11 13:14
查看资料  发送邮件  发短消息 网志  OICQ (841615149)  编辑帖子  回复  引用回复
woo88
初级用户





积分 188
发帖 96
注册 2008-3-11
状态 离线
『第 10 楼』:  

不错

2008-3-15 01:30
查看资料  发短消息 网志   编辑帖子  回复  引用回复
rzkmssj
新手上路





积分 16
发帖 10
注册 2008-10-16
状态 离线
『第 11 楼』:  

闪的不行....给你修改了一处地方:

set /a es=9-se
color %es%%se%
cls&echo.&echo   己检测:%p%kb,剩余:%q%kb   

红色代码换成下面的就不闪咯!
color 9f               

[ Last edited by rzkmssj on 2008-10-29 at 12:46 ]

2008-10-29 12:43
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复

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


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



论坛跳转: