[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

[文本处理] 批处理如何实现部分字幕的移动?

看了FOXJL的那个批处理走字效果好,想到,可不可以利用走字把自己的名字(novaa) 从窗口右端走到左端呢
就像下雨一样,只不过是从右往左下。。。
自己试了一个多小时还是不成功。老手指教。
我的失败代码是
  1. @echo off&setlocal enabledelayedexpansion
  2. set num=20
  3. for /l %%a in (1 1 20) do call :Again
  4. :Again
  5. for /l %%i in (1 1 !num!) do set /p= <NUL
  6. set /p=novaa<NUL
  7. set /l %%i in (1 1 25) do set /p=<NUL
  8. set /l %%i in (1 1 25) do set /p= <NUL
  9. set /l %%i in (1 1 25) do set /p=<NUL
  10. set /a num-=1
  11. call :Pause
  12. goto :eof
  13. :Pause
  14. for /l %%i in (1 1 1000) do set /p=<NUL
  15. goto :eof
复制代码
ㄗs:A good programming is 99% sweat and 1% coffee!--①個亾

============ >   hi.baidu.com/novaa   <============

  1. @echo off&setlocal enabledelayedexpansion
  2. set "table= Novaa"
  3. :Echo
  4. cls
  5. set /p=!table!<NUL
  6. call :Delay
  7. set table=!table:~2!&goto :Echo
  8. :Delay
  9. ping /n 1 127.1>nul
复制代码

这个是可以用的。但是是通过清屏来达到效果的
ㄗs:A good programming is 99% sweat and 1% coffee!--①個亾

============ >   hi.baidu.com/novaa   <============

TOP

不知可是这个意识?
:
  1. @echo off&setlocal enabledelayedexpansion
  2. for /l %%a in (1 1 74) do set ko= !ko!
  3.   set num=!ko!navaa
  4.   for /l %%l in (1 1 24) do (
  5.   set /p=!num!<NUL
  6.   for /l %%i in (1 1 80) do set /p=<NUL
  7.   echo.&set num=!num:~3!
  8. )
  9. pause>nul
复制代码
技术问题请到论坛发帖求助!

TOP

不是。是在一条直线上运动。从右到左。
ㄗs:A good programming is 99% sweat and 1% coffee!--①個亾

============ >   hi.baidu.com/novaa   <============

TOP

这样子吗?
  1. @echo off&setlocal enabledelayedexpansion
  2. for %%z in (F o x J L) do (set s=77
  3. for /l %%i in (1 1 77) do (set /a s-=1
  4.   for /l %%j in (1 1 !s!) do (set/p= <nul)
  5.    set/p=%%z<nul
  6.    set/p= <nul
  7.   for /l %%k in (1 1 78) do (set/p=<nul)
  8. )
  9. )
  10. pause>nul
复制代码

TOP

在上班.不能玩太久了哈哈..

[ 本帖最后由 foxJL 于 2007-12-15 18:13 编辑 ]

TOP

我晕,说了这么久,楞是没弄懂题意

TOP

嗯!
是FOXJL写的。
研究下

[ 本帖最后由 novaa 于 2007-12-15 22:54 编辑 ]
ㄗs:A good programming is 99% sweat and 1% coffee!--①個亾

============ >   hi.baidu.com/novaa   <============

TOP

for %%z in (F o x J L) do (set s=77
for /l %%i in (1 1 77) do (set /a s-=1
  for /l %%j in (1 1 !s!) do (set/p=  


要实现减 1 何必 来个 set /a s-=1呢?!
不如:for /l %%i in (77 -1 1) do (

TOP

原帖由 youxi01 于 2007-12-16 00:08 发表
要实现减 1 何必 来个 set /a s-=1呢?!
不如:for /l %%i in (77 -1 1) do (

这样就好多了.多谢指点..
  1. @echo off
  2. for %%z in (F o x J L) do (
  3. for /l %%i in (76 -1 1) do (
  4.   for /l %%j in (1 1 %%i) do (set/p= <nul)
  5.    set/p=%%z<nul
  6.    set/p= <nul
  7.   for /l %%k in (1 1 78) do (set/p=<nul)
  8. )
  9. )
  10. pause>nul
复制代码

TOP

回复 10# 的帖子

foxjl 的代码也越来越有可读性了,可喜可贺.
要不看你的代码把人累的...............
技术问题请到论坛发帖求助!

TOP

返回列表