找回密码
 注册
搜索
[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
查看: 37952|回复: 10

[游戏娱乐] 退格符在CMD特效中的简单应用

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

[ 本帖最后由 wc726842270 于 2011-2-26 12:37 编辑 ]
发表于 2011-2-26 18:56:34 | 显示全部楼层
LZ阐述下原理或许更好,说实在的,我懂得用,但我不明白它为何能够这样?
 楼主| 发表于 2011-2-28 19:14:58 | 显示全部楼层

回复 2楼 的帖子

个人认为。退格符是一种将光标回读的一种现像,而在光标的所经过(或者上方)的字符也可以进行重新指派,
看下一下面的文章理解一下吧
http://www.bathome.net/thread-7137-1-1.html

[ 本帖最后由 wc726842270 于 2011-2-28 19:18 编辑 ]
发表于 2011-3-1 17:41:06 | 显示全部楼层
学习了……。。。。感谢楼主……
其实批处理中还可以用ECHO 加CTRL+G来响铃,很早就在用了,可以直接复制CMD中的以CTRL+G,或者使用COPY CON 1。BAT这样来搞……
发表于 2011-4-10 13:57:40 | 显示全部楼层
楼主真高人也!
发表于 2011-4-17 23:31:18 | 显示全部楼层
很厉害呀,呵呵,对了,我有些不明白。bat教程为了什么没有写这样的细节?还是被高人无意发现的?
发表于 2011-4-18 08:39:51 | 显示全部楼层
6# jay_16

不是写不出这样的教程,而是没必要写这样的教程,退格只有在批处理动画中才能发挥其强大的功能,而批处理动画显然不是批处理的重点和方向所在。。。
发表于 2011-8-22 15:33:23 | 显示全部楼层
回复 7# batman

那些个批处理动画教程~
给我这些新手的~
发表于 2011-8-22 15:49:04 | 显示全部楼层
回复 8# garyng


    目前没有专门的教程。批处理动画也是利用了批处理的基础知识,只是在思路和技巧上有所侧重而已。专研论坛的游戏,定有收获。
发表于 2011-8-22 16:53:15 | 显示全部楼层
回复 9# cjiabing


好的~小菜鸟听您的话!!
发表于 2014-2-3 13:17:38 | 显示全部楼层
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|批处理之家 ( 渝ICP备10000708号 )

GMT+8, 2026-3-17 01:29 , Processed in 0.011661 second(s), 8 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表