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

[特效代码] 批处理如何实现在cmd窗口显示一段从左往右移动的字符串

[复制链接]
发表于 2008-8-16 10:17:12 | 显示全部楼层 |阅读模式
本帖最后由 pcl_test 于 2016-11-21 23:34 编辑

求助:--求一个特效...如:“我爱批处理之家”。字体从左往右移动..字体从左边缘出现,第一个是“我”第二个是“爱”以此类推。。等到窗口右边源“家”字消失,然后到“之”以此类推。循环操作!按Y下一步 N返回..如果不进行任何操作。则循环移动上面字体。。。不知道大家明不明白呢。。。在此先谢谢大家了。。。
如果能把字体做成变色效果那就更好。。。。。
      有答案的朋友,能不能解释一下代码命令!
..
发表于 2008-8-16 11:03:49 | 显示全部楼层
楼主所说的“循环操作!按Y下一步 N返回..如果不进行任何操作。则循环移动上面字体。。。”
cmd是单任务的,循环移动的时候不可能接受用户输入的。
发表于 2008-8-16 11:16:55 | 显示全部楼层
粗略的实现了,不知是否是楼主的意思。
  1. @echo off&setlocal enabledelayedexpansion&title test
  2. if "%1" neq "" goto next
  3. start/b %~fs0 a
  4. set "str=我爱批处理之家"
  5. :loop
  6. for /l %%a in (0 1 6) do (
  7. if not exist %temp%\had.tmp (
  8.          set/p=!str:~%%a,1!<nul
  9.          for /l %%i in (1 1 500) do echo.>nul
  10.          if %%a equ 6 (
  11.         for /l %%s in (1 1 20) do set/p= <nul&ping -n>nul
  12. )
  13. ) else (
  14. del %temp%\had.tmp
  15. cls&echo  这里是“下一步”的操作,不知你说的输入n返回,是返回到哪里。
  16. pause>nul&exit/b
  17. )
  18. )
  19. goto loop

  20. :next
  21. set/p var=
  22. if /i %var% equ y (echo a>%temp%\had.tmp)
  23. exit
复制代码
 楼主| 发表于 2008-8-16 12:08:04 | 显示全部楼层
原帖由 pusofalse 于 2008-8-16 11:03 发表
楼主所说的“循环操作!按Y下一步 N返回..如果不进行任何操作。则循环移动上面字体。。。”
cmd是单任务的,循环移动的时候不可能接受用户输入的。

  如果不能执行循环重复。。。那把该命令多复制几次。会不会出现几次呢?

------谢谢版主的帮助...辛苦您了。。


爱我
批爱我
理批爱我
处理批爱我
之处理批爱我
家之处理批爱我
-----------------
上面是从左出现的效果。。
家之处理批爱我    ---------------------------→ 家之处理批爱我 -----------------------------------------------------------------------------→ 家之处理批爱我
========
家之处理批爱
家之处理批
家之处理
家之处
家之

---------------
上面的是右边的效果

最好能够把字体调为变色效果。。。
下面的朋友们。。帮帮忙------谢了
发表于 2008-8-16 12:24:25 | 显示全部楼层
- -||| 看来我完全理解错误了啊。
发表于 2008-8-16 13:00:39 | 显示全部楼层
  1. @echo off&setlocal enabledelayedexpansion
  2. set "str=我爱批处理之家"
  3. :loop
  4. for /l %%a in (0 1 6) do (
  5.         set "var="
  6.         for /l %%i in (%%a -1 0) do set "var=!var!!str:~%%i,1!"
  7.         ping -n 2 127.1>nul
  8.         echo !var!&color 0%%a
  9. )
  10. for /l %%a in (6 -1 1) do echo !var:~,%%a!&color 0%%a&ping 127.1 /n 2 >nul
  11. goto loop
复制代码
 楼主| 发表于 2008-8-16 14:03:05 | 显示全部楼层
版主厉害。。很好。效果不错。。辛苦了
→我
→爱我
→批爱我
→理批爱我
→处理批爱我
→之处理批爱我
→家之处理批爱我
-----------------
上面是从左出现的效果。。
字移动过程中的效果“----------移动---------→ ”作为提示......“家之处理批爱我    ----------移动---------→ 家之处理批爱我 -----------------------移动-------------------------------------------→ 家之处理批爱我”
========
→家之处理批爱
→家之处理批
→家之处理
→家之处
→家之
→家
走字效果。。
发表于 2008-8-16 16:05:05 | 显示全部楼层
要是把"我爱批处理之家"改成"家之理处批爱我"...

那就是正常人看的了,...

不知LZ要干什么?...

弄回文吗?..
发表于 2008-8-16 17:51:07 | 显示全部楼层
我在cn-dos的时候写的看看是不是这样
『楼 主』:  做了一个自己满意的滚动字幕

::我还嫩……不过这篇自我满意
@echo off &color 0a
setlocal enabledelayedexpansion
set na=          CN-DOS        
:a
for /l %%a in (16,-1,0) do (
set ne=!na:~%%a,8!
echo.                              --!ne!--
for /l %%b in (1,1,2) do ping -n>nul
cls
)
goto a
 楼主| 发表于 2008-8-16 20:22:19 | 显示全部楼层
呵呵..楼主的  谢谢哦..就是这样的...
发表于 2008-8-16 20:23:21 | 显示全部楼层
楼主要的是如下走字效果吧:
  1. @echo off&setlocal enabledelayedexpansion
  2. color 03&mode con cols=28 lines=5
  3. set "str=              家之理处批爱我"

  4. :loop
  5. for /l %%a in (1 1 21) do (
  6.         echo.
  7.         if "!str:~-%%a,14!"=="              " (echo.) else (
  8.         echo !str:~-%%a,14!)
  9.         for /l %%b in (1 1 800) do echo.>nul
  10.         cls
  11.         )
  12. goto loop
复制代码

[ 本帖最后由 shqf 于 2008-8-16 20:24 编辑 ]
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-3-20 14:19 , Processed in 0.020850 second(s), 8 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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