[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖
11# jay_16
修改下楼上的代码(加入多行回退):
  1. @echo off&setlocal enabledelayedexpansion
  2. mode con cols=55 lines=25
  3. set "tab= "&rem 请将此处空格换成实际的制表符
  4. call :ProcessBar 1 ShowInformation
  5. pause>nul
  6. exit
  7. rem p:间隔 i:进度百分比
  8. :ProcessBar
  9. set p=%1
  10. set info=%2
  11. for /l %%a in (1,1,32) do set "k=!k!"
  12. echo     ┏━━━━━━━━━━━━━━━━━━━━┓
  13. echo.
  14. echo     ┗━━━━━━━━━━━━━━━━━━━━┛
  15. echo.                       %info%
  16. echo %tab%%k% 2>nul&set /p= <nul
  17. echo.&set /p=     ▉<nul
  18. for /l %%i in (1,1,20) do set/p=▉<nul&ping /n %p% 127.1>nul                                             
复制代码
***共同提高***

TOP

不行啊 lss下面的框不显示 ls下面的框在进度条上面 = =
jinzeyu 发表于 2011-4-13 19:09

你注意到第一个rem的内容不?论坛处理不了制表符(tab)的,所以复制代码后要将tab=后面的空格替换为实际的制表符(tab)。。。
***共同提高***

TOP

echo,就行。。。
***共同提高***

TOP

第二次call前要把k变量清空,不然回退的是6行。。。
***共同提高***

TOP

本帖最后由 batman 于 2011-4-17 18:42 编辑

这样子可以不(注意替换tab):
  1. @echo off&setlocal enabledelayedexpansion
  2. set "tab= "
  3. for /l %%a in (1,1,22) do (
  4.     set "t=!t!"
  5.     if %%a leq 20 set "k=!k!  "
  6. )
  7. for /l %%a in (1,1,80) do set "tg=!tg! "
  8. echo,&echo     ┌────────────────────┐
  9. echo,&echo     └────────────────────┘
  10. echo %tab%%t% 2>nul&set /p=     │<nul
  11. for /l %%a in (1,1,20) do (
  12.     set /a "a=(20-%%a)*2","b=(22-%%a)*6+4",c=%%a00/20
  13.     set "c=  !c!"&set "c=!c:~-3!"
  14.     for %%a in (!a!) do (
  15.         set "str=■!k:~,%%a!│!c!%%"
  16.         set /p=!str!<nul
  17.         for /l %%b in (1,1,500) do echo>nul
  18.         if %%a neq 0 for %%a in (!b!) do set /p=!tg:~,%%a!<nul
  19.     )
  20. )
  21. pause>nul
复制代码
***共同提高***

TOP

本帖最后由 batman 于 2011-4-17 18:40 编辑

要不就只能这样:
  1. @echo off&setlocal enabledelayedexpansion
  2. set "tab= "
  3. for /l %%a in (1,1,22) do set "t=!t!"
  4. for /l %%a in (1,1,80) do set "tg=!tg! "
  5. echo,&echo     ┌───────────────────┐
  6. echo,&echo     └───────────────────┘
  7. for /l %%a in (1,1,20) do (
  8.     echo %tab%%t% 2>nul&set /p=      <nul
  9.     set /a a=%%a00/20
  10.     set "a=  !a!"&set "a=!a:~-3!"
  11.     for /l %%b in (1,1,%%a) do set /p=■<nul
  12.     for /l %%b in (1,1,1000) do echo>nul
  13.     if %%a neq 20 set /p=%tg%<nul
  14.     echo,&echo,&set /p=                      !a!%%<nul
  15.     for /l %%b in (1,1,1000) do echo>nul
  16.     if %%a neq 20 set /p=%tg%<nul
  17. )
  18. pause>nul
复制代码
***共同提高***

TOP

思维定向,可以做到的(注意替换tab为实际的制表符):
  1. @echo off&setlocal enabledelayedexpansion
  2. set "tab= "
  3. for /l %%a in (1,1,22) do set "t=!t!"
  4. for /l %%a in (1,1,80) do set "tg=!tg! "
  5. echo,&echo     ┌────────────────────┐
  6. echo                                               │
  7. echo     └────────────────────┘
  8. for /l %%a in (1,1,20) do (
  9.     echo %tab%%t% 2>nul&set /p=     │<nul
  10.     set /a a=%%a00/20
  11.     set "a=  !a!"&set "a=!a:~-3!"
  12.     for /l %%b in (1,1,%%a) do set /p=■<nul
  13.     for /l %%b in (1,1,500) do echo>nul
  14.     echo,&echo,&set /p=                      !a!%%<nul
  15.     for /l %%b in (1,1,200) do echo>nul
  16.     if %%a neq 20 set /p=%tg%<nul
  17. )
  18. pause>nul
复制代码
***共同提高***

TOP

返回列表