|
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 ]
|
|
2008-3-9 07:38 |
|
|
suntb
高级用户
积分 581
发帖 277
注册 2006-12-23
状态 离线
|
『第
2 楼』:
还不错 不过屏幕色彩没必要变来变去的 全程黑底白字就好了
|
|
2008-3-9 11:45 |
|
|
faultcode
初级用户
积分 120
发帖 60
注册 2007-10-26
状态 离线
|
|
2008-3-9 16:03 |
|
|
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 |
|
|
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 |
|
|
zh159
金牌会员
积分 3687
发帖 1467
注册 2005-8-8
状态 离线
|
『第
7 楼』:
对于批处理复制文件过程模拟进度条,基本上是徒劳;除了copy有个/z可以显示每个文件复制的百分比
|
|
|
2008-3-10 11:28 |
|
|
txiaowen
新手上路
积分 10
发帖 4
注册 2008-3-10
状态 离线
|
|
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 |
|
|
woo88
初级用户
积分 188
发帖 96
注册 2008-3-11
状态 离线
|
|
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 |
|