本文思路来自于- bat-wc726842270(726842270) 9:27:53
- 不知道这样可以么?
- @echo off
- set var=123
- set a=%var%
- echo %a%
- pause>nul
- bat-defanive(524565481) 9:30:09
- 这样子可以显示出来,但是不能输出到文件
复制代码 多谢BATMAN和DEFANIVE的指点
退格符毕竟是EDIT下打印出来的,并不是键盘上的。正常来说它是不能输出到文本中去的,在这里之所以可以是因为EDIT将其转换成2进制的形式了,所以在文本中也可以显示出来。而在CMD中又将其还原,所以退格符用在CMD的特效上是比较好的作法。
例如- @echo off
- set var=123456789
- set a=%var%4
- echo %a%
- pause
复制代码
- @echo off
- set var=123456789
- set a=%var%4
- echo %a%
- pause
复制代码
- @echo off
- set var=123456789
- set a=%var%4
- echo %a%
- pause
复制代码 看见效果了么?第一个代码中的8换为了4,而第二个中的7换成4,而第三个中的6被换成了4。那么VAR换成_________,而4换成其它的呢(想要好点的,就设计一个图形,并用变量组表示出来)
例如- @echo off&setlocal enabledelayedexpansion
- set n=0
- set var=_____________________
- set b=
- :1
- set /a n+=1
- if %n% gtr 21 goto :2
- set c=!b:~,%n%!
- set a=%var%%c%@
- echo %a%
- goto :1
- :2
- pause
复制代码 运行一下看看,如果想个办法让其自始至终一直显示一行,在加个延时是不是有个动态的感觉呢?其实很简单,看一下下面的代码吧.运行一下就知道了- @echo off&setlocal enabledelayedexpansion
- set n=0
- set var=_____________________
- set b=
- :1
- set /a n+=1
- if %n% gtr 21 goto :2
- set c=!b:~,%n%!
- set a=%var%%c%@
- ping /n 1 127.1 >nul
- cls
- echo %a%
- goto :1
- :2
- pause
复制代码 是吧,动画的效果已经出来了.难道这就是尽头了么?当然不是了.呵呵,还可以加点色彩啊- @echo off&setlocal enabledelayedexpansion
- set n=0
- set var=_____________________
- set b=
- set col=123456789abcde
- :1
- set /a d=%random%%%14+1
- color 0!col:~%d%,1!
- set /a n+=1
- if %n% gtr 21 goto :2
- set c=!b:~,%n%!
- set a=%var%%c%@
- ping /n 1 127.1 >nul
- cls
- echo %a%
- goto :1
- :2
- pause
复制代码 感觉怎么样.是不是很容易呢!当然它和findstr /a结合时更加强大。它在CMD上的特效并不止这些,它的应用是取绝于你的所见所识。想用好的话就努力的学习吧(其实知识或者说你的认知都是这样),好了现在的思路就是这些。以后就要看你们的了。(以上代码没有优化,不过可以很清楚的看清步骤)
PS:这仅仅作为新手的我的一些看法,再此发出是希望新手学习,老手给提些议建。另外以上属于个人的想法,如有不对,请指出,多谢了
和FINDSTR /A的结合请看这里吧
http://www.bathome.net/thread-8735-1-3.html
我也是在这儿,第一次学习的退格符
[ 本帖最后由 wc726842270 于 2011-2-26 12:37 编辑 ] |