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

[特效代码] 批处理特效之多行回退擦除小动画

[复制链接]
发表于 2013-8-22 19:33:16 | 显示全部楼层 |阅读模式
本帖最后由 batman 于 2013-8-22 19:45 编辑

  1. @echo off&setlocal enabledelayedexpansion
  2. mode con cols=45 lines=8&title 大侠@之三招制敌
  3. rem 因论坛处理不了制表符,请将下面tab=后面的空格替换为制表符后运行,切记。。。
  4. set "tab=        "
  5. for /l %%a in (1,1,44) do set "tg=!tg!"&set "k=!k! "
  6. for /f "delims=:" %%a in ('findstr /n "^exit" "%~0"') do set /a n=%%a
  7. for /f "skip=%n% tokens=1,2 delims=:" %%a in ('findstr /n .* "%~0"') do (
  8.   if "!m!" equ "6" (
  9.     for /l %%c in (1,1,5000) do echo,>nul
  10.     for /l %%c in (1,1,6) do (
  11.       2>nul echo,%tab%%tg:~,12%
  12.       set /p=%k%%tg%<nul
  13.     )
  14.     set /a m=0
  15.   )
  16.   echo,%%b&set /a m+=1
  17. )
  18. pause>nul
  19. exit

  20. @:怎么着?        #:想和你见个高下!

  21.         @       #   
  22.        <|~     \|>  
  23.         >\     < \  

  24. @:三招叫你趴下!        #:我好怕怕。。。

  25.          @     #
  26.         ~)-   ~ )^
  27.         />     <|

  28. #:看打,哈!        @:找死! 

  29.            @ #
  30.          </- ~\^
  31.          />   <\

  32. #:黑虎掏心!        @:呀。。。

  33.          @/ #
  34.          {\~ \>
  35.           |\ <\

  36. @:泰山压顶!        #:啊!

  37.          @ #
  38.         ~(\~)^
  39.          />/|

  40. @:潜龙出海!        #:啊!

  41.            @_#
  42.           /\~)^
  43.          /| <L

  44. @:佛山无影腿!        #:操!

  45.            @  \#
  46.           ~(/~/
  47.            > <\

  48. #:操!!

  49.            @     \#
  50.           ~(-   ~/
  51.            >\   <L

  52. #:操!!!

  53.            @        
  54.           ~|-    ~_#
  55.            |\     /L \

  56. #:可恶...

  57.            @       #
  58.           ~|-    ~/\
  59.            |\    /L

  60. @:还来?        #:老大,别打了!

  61.           \@
  62.            |~  \#__
  63.            >\   | /L

  64. #:老大,我错了...        @:哈哈!

  65.            @
  66.           <|> #__
  67.            |\ /|<\
复制代码
发表于 2013-8-22 21:45:24 | 显示全部楼层
没看懂,可否提示一下?
发表于 2023-4-3 14:07:40 | 显示全部楼层
回复 1# batman

大佬我换了制表符也不行啊win10,回退不了,他是直接向上逐行打印的
发表于 2023-4-5 15:54:23 | 显示全部楼层
回复 1# batman


    大佬麻烦有空回下
发表于 2023-4-5 17:25:54 | 显示全部楼层
回复 4# dos-a
Win 10 无法使用制表符多行回退,但是可以通过 VT 100 转义来实现相关功能,详见:
https://learn.microsoft.com/zh-cn/windows/console/console-virtual-terminal-sequences
发表于 2023-4-6 00:03:51 | 显示全部楼层
回复 5# HOPE2021


    ai给的代码但是还是就没用啊
@echo off
setlocal EnableDelayedExpansion

rem 设置 VT100 控制码
set "ESC=["
set "CSI=%ESC%%ESC%["
set "CUU=%CSI%A"
set "CUD=%CSI%B"

rem 输出三行文本
echo Line 1
echo Line 2
echo Line 3

rem 回退两行并输出新文本
echo %CUU%%CUU%New line 1
echo New line 2

endlocal
发表于 2023-4-8 22:02:18 | 显示全部楼层
回复 6# dos-a
……
ESC字符是不可显示字符(虽然在 Windows 系统下可见),并非方括号,ESC 字符的获取以及简单的应用可以见我的帖子:http://www.bathome.net/viewthread.php?tid=63749

一般来说,对于 ESC 字符的获取可以使用:
  1. :InitVT100
  2. %= { =%

  3.         %= 获取 ESC 字符 =%

  4.         Set "ESC="

  5.         %= 如果没有定义 ESC 字符,这个过程是为了防止论坛误吞上文的 ESC 字符 =%
  6.         If Not Defined ESC (

  7.                 For /F "Delims=#" %%_ in ('Prompt #$E# ^& Echo On ^& For %%$ in ^(1^) Do DosKey') Do Set "ESC=%%_"

  8.         )

  9. %= } =%
  10. @Goto :Eof
复制代码
所以 AI 的代码可以改成:
  1. @echo off
  2. setlocal EnableDelayedExpansion

  3. rem 设置 VT100 控制码
  4. call :GetESC
  5. set "CSI=%ESC%["
  6. set "CUU=%CSI%A"
  7. set "CUD=%CSI%B"

  8. rem 输出三行文本
  9. echo;Line 1
  10. echo;Line 2
  11. echo;Line 3

  12. rem 回退两行并输出新文本
  13. echo;%CUU%%CUU%New line 1
  14. echo;New line 2

  15. endlocal

  16. pause

  17. :GetESC
  18. set "ESC="
  19. if not defined ESC (
  20.     for /f "delims=#" %%_ in ('prompt #$E# ^& echo on ^& for %%$ in ^(1^) do dosKey') do Set "ESC=%%_"
  21. )
  22. @goto :eof
复制代码

评分

参与人数 1技术 +1 收起 理由
buyiyang + 1 感谢分享

查看全部评分

发表于 2023-4-9 11:40:46 | 显示全部楼层
回复 7# HOPE2021


    大佬牛批
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-3-18 22:44 , Processed in 0.029227 second(s), 8 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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