中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --
联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟
中国DOS联盟论坛
现在时间是 2026-08-10 06:54
47,811 主题排行 / 349,897 发帖 / 今日 2 篇 / 48,255 会员排行
DOS批处理 & 脚本技术(批处理室) » 原创的模拟C盘检测进度条(应用截取字符和set /a命令)
可打印版本  1,141 / 10
第1楼 bat-zw 发表于 2008-03-09 07:38
金牌会员 发帖 1,276 积分 3,105
原创的模拟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 ]
第2楼 suntb 发表于 2008-03-09 11:45
高级用户 发帖 277 积分 581
还不错 不过屏幕色彩没必要变来变去的 全程黑底白字就好了
第3楼 faultcode 发表于 2008-03-09 16:03
初级用户 发帖 60 积分 120
很好 很强大~呵呵
第4楼 lee928 发表于 2008-03-09 21:02
初级用户 发帖 14 积分 36
不错!如果能真正利用到拷贝文件中就更好了!
第5楼 bat-zw 发表于 2008-03-09 21:28
金牌会员 发帖 1,276 积分 3,105
关于这个我已经有了思路了,正在实现中。。。。。。。。。
第6楼 haiou327 发表于 2008-03-10 02:37
高级用户 发帖 348 积分 713
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楼 zh159 发表于 2008-03-10 11:28
金牌会员 发帖 1,467 积分 3,687
对于批处理复制文件过程模拟进度条,基本上是徒劳;除了copy有个/z可以显示每个文件复制的百分比
第8楼 txiaowen 发表于 2008-03-10 16:04
新手上路 发帖 4 积分 10
好帖子啊,支持
第9楼 bat-zw 发表于 2008-03-11 13:14
金牌会员 发帖 1,276 积分 3,105
在文件开头加入title命令郊果更好:
@echo off&&mode con cols=115 lines=8&setlocal EnableDelayedExpansion
title 磁盘快速检测程序
.....................................................
第10楼 woo88 发表于 2008-03-15 01:30
初级用户 发帖 96 积分 188
不错
第11楼 rzkmssj 发表于 2008-10-29 12:43
新手上路 发帖 10 积分 16
闪的不行....给你修改了一处地方:

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 ]
[ 联系联盟系统管理团队 - 中国DOS联盟 - 标准版 ]
Sponsored by ifanr Inc | © 2001–2023