中国DOS联盟

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

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

中国DOS联盟论坛
现在时间是 2026-06-26 06:32
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » 原创的模拟C盘检测进度条(应用截取字符和set /a命令) 查看 1,111 回复 10
楼 主 原创的模拟C盘检测进度条(应用截取字符和set /a命令) 发表于 2008-03-09 07:38 ·  中国 湖南 株洲 电信
金牌会员
★★★★
永远的学习者
积分 3,105
发帖 1,276
注册 2008-03-08 13:00
18年会员
UID 112398
性别 男
状态 离线
原代码如下,有兴趣的朋友可以一起来研究下:
@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 ]
本帖最近评分记录 (共 1 条) 点击查看详情
评分人分数时间
523066680 +8 2008-07-28 09:47
2 发表于 2008-03-09 11:45 ·  中国 福建 福州 连江县 联通
高级用户
★★
积分 581
发帖 277
注册 2006-12-23 05:10
19年会员
UID 74328
性别 男
状态 离线
还不错 不过屏幕色彩没必要变来变去的 全程黑底白字就好了
3 发表于 2008-03-09 16:03 ·  中国 江苏 苏州 电信
初级用户
★★
积分 120
发帖 60
注册 2007-10-26 22:42
18年会员
UID 100889
性别 男
状态 离线
很好 很强大~呵呵
4 发表于 2008-03-09 21:02 ·  中国 四川 成都 电信
初级用户
积分 36
发帖 14
注册 2008-03-05 20:27
18年会员
UID 112123
性别 男
状态 离线
不错!如果能真正利用到拷贝文件中就更好了!
5 发表于 2008-03-09 21:28 ·  中国 湖南 株洲 电信
金牌会员
★★★★
永远的学习者
积分 3,105
发帖 1,276
注册 2008-03-08 13:00
18年会员
UID 112398
性别 男
状态 离线
关于这个我已经有了思路了,正在实现中。。。。。。。。。
6 发表于 2008-03-10 02:37 ·  中国 广东 汕头 潮阳区 电信
高级用户
★★★
DOS时空
积分 713
发帖 348
注册 2007-02-10 13:59
19年会员
UID 79169
性别 男
状态 离线
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 ]
7 发表于 2008-03-10 11:28 ·  中国 广西 玉林 电信
金牌会员
★★★★
积分 3,687
发帖 1,467
注册 2005-08-08 12:00
20年会员
UID 44210
状态 离线
对于批处理复制文件过程模拟进度条,基本上是徒劳;除了copy有个/z可以显示每个文件复制的百分比
8 发表于 2008-03-10 16:04 ·  中国 黑龙江 大庆 教育网
新手上路
积分 10
发帖 4
注册 2008-03-10 15:23
18年会员
UID 112530
性别 男
状态 离线
好帖子啊,支持
9 发表于 2008-03-11 13:14 ·  中国 湖南 株洲 电信
金牌会员
★★★★
永远的学习者
积分 3,105
发帖 1,276
注册 2008-03-08 13:00
18年会员
UID 112398
性别 男
状态 离线
在文件开头加入title命令郊果更好:
@echo off&&mode con cols=115 lines=8&setlocal EnableDelayedExpansion
title 磁盘快速检测程序
.....................................................
10 发表于 2008-03-15 01:30 ·  中国 广东 深圳 电信
初级用户
★★
积分 188
发帖 96
注册 2008-03-11 00:59
18年会员
UID 112592
性别 男
状态 离线
不错
11 发表于 2008-10-29 12:43 ·  中国 甘肃 酒泉 电信
新手上路
积分 16
发帖 10
注册 2008-10-16 10:29
17年会员
UID 128514
性别 男
状态 离线
闪的不行....给你修改了一处地方:

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 ]
论坛跳转: