标题: 原创的模拟C盘检测进度条(应用截取字符和set /a命令)
[打印本页]
作者: bat-zw
时间: 2008-3-9 07:38
标题: 原创的模拟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 ]
作者: suntb
时间: 2008-3-9 11:45
还不错 不过屏幕色彩没必要变来变去的 全程黑底白字就好了
作者: faultcode
时间: 2008-3-9 16:03
很好 很强大~呵呵
作者: lee928
时间: 2008-3-9 21:02
不错!如果能真正利用到拷贝文件中就更好了!
作者: bat-zw
时间: 2008-3-9 21:28
关于这个我已经有了思路了,正在实现中。。。。。。。。。
作者: haiou327
时间: 2008-3-10 02:37
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 ]
作者: zh159
时间: 2008-3-10 11:28
对于批处理复制文件过程模拟进度条,基本上是徒劳;除了copy有个/z可以显示每个文件复制的百分比
作者: txiaowen
时间: 2008-3-10 16:04
好帖子啊,支持
作者: bat-zw
时间: 2008-3-11 13:14
在文件开头加入title命令郊果更好:
@echo off&&mode con cols=115 lines=8&setlocal EnableDelayedExpansion
title 磁盘快速检测程序
.....................................................
作者: woo88
时间: 2008-3-15 01:30
不错
作者: rzkmssj
时间: 2008-10-29 12:43
闪的不行....给你修改了一处地方:
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 ]