[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖
可能是系统不一样吧,我机子上reg query hkcu\environment /v temp的结果并未出现tab符...

TOP

学到很多,理解深了很多....

TOP

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

TOP

18# batman
  1. echo off&setlocal enabledelayedexpansion
  2. mode con cols=55 lines=25
  3. set "tab= "&rem 请将此处空格换成实际的制表符
  4. pause
  5. call :ProcessBar 1 ShowInformation
  6. call :ProcessBar 1 ShowInformation
  7. echo. 你好
  8. echo. 你好
  9. echo. 你好
  10. echo. 你好echo. 你好
  11. echo. 你好
  12. pause>nul
  13. exit
  14. rem p:间隔 i:进度百分比
  15. :ProcessBar
  16. set p=%1
  17. set info=%2
  18. rem 32=倒退3行*10+2
  19. for /l %%a in (1,1,32) do set "k=!k!"
  20. echo     ┏━━━━━━━━━━━━━━━━━━━━┓
  21. echo.
  22. echo     ┗━━━━━━━━━━━━━━━━━━━━┛
  23. echo.                       %info%
  24. rem echo %tab%%k% 2>nul
  25. rem 2>nul屏蔽错误信息      
  26. 2>nul echo %tab%%k%
  27. echo.&set /p=     ▉<nul
  28. for /l %%i in (1,1,20) do set/p=▉<nul&ping /n %p% 127.1>nul
  29. echo.
  30. echo.
  31. echo,
  32. echo.
  33. goto :eof
复制代码
上面是我试验的程序,输出两个进度条,再在进度条下面输出一些字。可是效果很不如意:

TOP

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

TOP

12# batman


怎么在回退后再返回回退前的那行?要不后面的输出都把进度条盖住了。我试了echo.你看一下call两次进度条的效果就明白,求你帮忙解码一下!呵呵,谢谢

TOP

12# batman
效果很好。刚开始理解错了。呵呵。

TOP

14# batman

效果不是很好,你把它弄成现成吧。

TOP

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

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

TOP

不行啊 lss下面的框不显示 ls下面的框在进度条上面 = =

TOP

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

不行呀,我发现它太闪了,而且也不能做成子函数,因为它cls了。
我写的
  1. @echo off
  2. mode con cols=55 lines=25
  3. call :ProcessBar 1 ShowInformation
  4. pause
  5. exit
  6. rem p:间隔 i:进度百分比
  7. :ProcessBar
  8. set p=%1
  9. set info=%2
  10. echo     ┏━━━━━━━━━━━━━━━━━━━━┓
  11. set/p=     ▉<nul
  12. for /l %%i in (1,1,20) do set/p=▉<nul&ping /n %p% 127.1>nul                                       
  13. echo.                       %info%         
  14. echo     ┗━━━━━━━━━━━━━━━━━━━━┛
  15. goto :eof
复制代码

TOP

效果很好,提点建议吧,可以让用户自定义设置进度条速度及显示信息。最好把这个函数做成子函数,随用随call.

TOP

高手 佩服 学习学习

TOP

还有 PING /N 怎么和 random组合

TOP

返回列表