标题: [文本处理] 批处理如何实现部分字幕的移动? [打印本页]
作者: novaa 时间: 2007-12-15 15:27 标题: 批处理如何实现部分字幕的移动?
看了FOXJL的那个批处理走字效果好,想到,可不可以利用走字把自己的名字(novaa) 从窗口右端走到左端呢
就像下雨一样,只不过是从右往左下。。。
自己试了一个多小时还是不成功。老手指教。
我的失败代码是- @echo off&setlocal enabledelayedexpansion
- set num=20
- for /l %%a in (1 1 20) do call :Again
-
- :Again
- for /l %%i in (1 1 !num!) do set /p= <NUL
- set /p=novaa<NUL
- set /l %%i in (1 1 25) do set /p=<NUL
- set /l %%i in (1 1 25) do set /p= <NUL
- set /l %%i in (1 1 25) do set /p=<NUL
- set /a num-=1
- call :Pause
- goto :eof
-
-
- :Pause
- for /l %%i in (1 1 1000) do set /p=<NUL
- goto :eof
复制代码
作者: novaa 时间: 2007-12-15 17:00
- @echo off&setlocal enabledelayedexpansion
- set "table= Novaa"
- :Echo
- cls
- set /p=!table!<NUL
- call :Delay
-
- set table=!table:~2!&goto :Echo
-
- :Delay
- ping /n 1 127.1>nul
复制代码
这个是可以用的。但是是通过清屏来达到效果的
作者: 随风 时间: 2007-12-15 17:30
不知可是这个意识?
:- @echo off&setlocal enabledelayedexpansion
- for /l %%a in (1 1 74) do set ko= !ko!
- set num=!ko!navaa
- for /l %%l in (1 1 24) do (
- set /p=!num!<NUL
- for /l %%i in (1 1 80) do set /p=<NUL
- echo.&set num=!num:~3!
- )
- pause>nul
复制代码
作者: novaa 时间: 2007-12-15 17:43
不是。是在一条直线上运动。从右到左。
作者: foxJL 时间: 2007-12-15 18:12
这样子吗?- @echo off&setlocal enabledelayedexpansion
- 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= <nul)
- set/p=%%z<nul
- set/p= <nul
- for /l %%k in (1 1 78) do (set/p=<nul)
- )
- )
- pause>nul
复制代码
作者: foxJL 时间: 2007-12-15 18:12
在上班.不能玩太久了哈哈..
[ 本帖最后由 foxJL 于 2007-12-15 18:13 编辑 ]
作者: youxi01 时间: 2007-12-15 18:12
我晕,说了这么久,楞是没弄懂题意
作者: novaa 时间: 2007-12-15 21:25
嗯!
是FOXJL写的。
研究下
[ 本帖最后由 novaa 于 2007-12-15 22:54 编辑 ]
作者: youxi01 时间: 2007-12-16 00:08
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 (
作者: foxJL 时间: 2007-12-16 00:23
原帖由 youxi01 于 2007-12-16 00:08 发表
要实现减 1 何必 来个 set /a s-=1呢?!
不如:for /l %%i in (77 -1 1) do (
这样就好多了.多谢指点..-
- @echo off
- for %%z in (F o x J L) do (
- for /l %%i in (76 -1 1) do (
- for /l %%j in (1 1 %%i) do (set/p= <nul)
- set/p=%%z<nul
- set/p= <nul
- for /l %%k in (1 1 78) do (set/p=<nul)
- )
- )
- pause>nul
复制代码
作者: 随风 时间: 2007-12-16 01:15 标题: 回复 10# 的帖子
foxjl 的代码也越来越有可读性了,可喜可贺.
要不看你的代码把人累的...............
欢迎光临 批处理之家 (http://bbs.bathome.net/) |
Powered by Discuz! 7.2 |