返回列表 发帖

[游戏娱乐] 批处理之家论坛网站宣传小动画

@echo off&setlocal enabledelayedexpansion
title made by batman 2008-08-02
:begin
echo.&echo.&echo.&echo.&set "n=0"&set "m=0"
for /f "skip=26 delims=" %%a in (%~fs0) do (
    for %%i in (0 5 10) do if !n! equ %%i set /a a=!random!%%10
    set "str=%%a"&set /a n+=1
    for %%m in (6 11) do if !n! equ %%m echo.&echo.
    if !n! neq 11 call :sp "%%a"&echo.
)
call :sp "no" 80
set "var=%str%"
:lp
set /p b=%var:~,1%<nul&set "var=%var:~1%"
for /l %%i in (1,1,100) do echo>nul
if defined var goto lp
:loop
call :sp "no" 80
call :sp "%str%"
set /a m+=1&if !m! lss 10 goto loop
del /q ●* *-*>nul 2>nul
ping /n 3 127.1>nul&cls&goto begin
:sp
if %1 neq "no" set /p= <nul>%1&findstr /a:0%a% .* %1*
for /l %%i in (1,1,%2) do set /p= <nul
del /q ●* *-*>nul 2>nul&goto :eof
               ●●●●    ●●●●  ●●●●●
              ●      ● ●      ●     ●
             ●●●●● ●●●●●     ●
            ●      ● ●      ●     ●
           ●●●●● ●      ●     ●
                    ●      ●  ●●●●   ●●●●   ●●●●●
                   ●      ● ●      ● ●  ●   ● ●
                  ●●●●● ●      ● ●  ●   ● ●●●●
                 ●      ● ●      ● ●  ●   ● ●
                ●      ●  ●●●●  ●  ●   ● ●●●●●
         www.bathome.net ----- It's the best professional batwebsite。COPY
4

评分人数

***共同提高***

更新版:
@echo off&setlocal enabledelayedexpansion
color 1f&title made by batman 2008-08-02
:begin
echo.&echo.&echo.&echo.
for /f "skip=32 delims=" %%a in (%~fs0) do (
    for %%i in (0 5 10) do if !n! equ %%i set /a a=!random!%%9+1
    set "str=%%a"&set /a n+=1
    for %%m in (6 11) do if !n! equ %%m echo.&echo.
    if !n! lss 11 (
       call :sp "%%a"&echo.
       ) else (
       set "var=!str!"&call :step
       if !n! geq 15 call :lp
    )
)
pause>nul&goto :eof
:lp
call :sp "no" 80
call :sp "%str%"
set /a m+=1&if !m! lss 5 goto lp
if %n% equ 15 ping /n 2 127.1>nul&echo.&echo.
set "m=-5"&set /a a=%random%%%9+1&goto :eof
:step
set /p b=%var:~,1%<nul&set "var=%var:~1%"
for /l %%i in (1,1,200) do echo>nul
if defined var goto step
ping /n 2 127.1>nul
call :sp "no" 80&goto :eof
:sp
if %1 neq "no" set /p= <nul>%1&findstr /a:0%a% .* %1*
for /l %%i in (1,1,%2) do set /p= <nul
del /q ●* 精* *-*>nul 2>nul&goto :eof
               ●●●●    ●●●●  ●●●●●
              ●      ● ●      ●     ●
             ●●●●● ●●●●●     ●
            ●      ● ●      ●     ●
           ●●●●● ●      ●     ●
                    ●      ●  ●●●●   ●●●●   ●●●●●
                   ●      ● ●      ● ●  ●   ● ●
                  ●●●●● ●      ● ●  ●   ● ●●●●
                 ●      ● ●      ● ●  ●   ● ●
                ●      ●  ●●●●  ●  ●   ● ●●●●●
                          我们,在Windows窗前
                    为了追逐的梦,叩响CMD深邃的大门
                   多少回挑灯夜战,又多少次彻夜难眠
                 身心虽已疲倦,然心中却有个坚定的信念:
                  精益求精力求完美,不言最好只求更高
         www.bathome.net ----- It's the best professional batwebsite。COPY

[ 本帖最后由 batman 于 2008-8-3 21:24 编辑 ]
***共同提高***

TOP

占占你的光(*^__^*)

@echo off
setlocal enabledelayedexpansion
set fu= ^/ ^\
set "kong=                                                                            "
set "kong2=____________________________________________________________________________"
set /a a=0,b=0,e=2,tiao=0
:a
set /a b+=1,c=30-%b%+%e%
cls
echo,  if_exist 回BatHome的路上……
for /l %%a in (1,1,6) do echo,
echo,!kong:~0,%b%!_ @
echo,!kong:~0,%b%! ^/
echo,!kong2:~0,%b%!!fu:~%a%,2!!kong2:~0,%c%!
ping -n>nul
if %a% equ 4 (set /a a=0) else (set /a a+=1)
if %a% leq 2 (set e=2)
if %a% equ 3 (set e=3)
if %a% equ 4 (set e=4)
if not %b% equ 30 goto :a else goto :b
set /a b=30,j=0,k=6
:b
if not %j% equ 6 (set /a j+=1,tiao=%j%) else (set /a k-=1,tiao=%k%)
set /a b+=1,up=6-%tiao%
cls
for /l %%a in (1,1,%up%) do echo,
echo,!kong:~0,%b%!  @/
echo,!kong:~0,%b%!^<^/
echo,!kong:~0,%b%!!/^>
for /l %%a in (1,1,%tiao%) do echo,
echo,!kong2:~0,30!
ping -n>nul&ping -n>nul
if %a% equ 4 (set /a a=0) else (set /a a+=1)
if %k%==0 (goto :c1) else (goto :b)
:c1
set /a cc=0,dd=0
set call1=嘿嘿,到家啦!
:c
if not %tiao% equ 10 set /a tiao+=1
if not %b% equ 60 set /a b+=1
if not "%cc%" == "30" (set /a cc+=1,num=30-%cc%)
if "%cc%"=="30" if not "%dd%"=="30" set /a dd+=1
cls
for /l %%a in (1,1,9) do echo,
echo,!kong2:~0,%num%!
for /l %%a in (1,1,%tiao%) do echo,
if %tiao% equ 10 echo,!kong:~0,%b%!!call1:~0,%dd%!
echo,!kong:~0,%b%!_ @   
echo,!kong:~0,%b%! ^/\  
echo,!kong:~0,%b%!!fu:~%a%,2!
if %tiao% lss 10 (ping -n>nul&ping -n>nul&ping -n>nul) else (ping -n>nul)
if %a% equ 4 (set /a a=0) else (set /a a+=1)
if "%dd%"=="30" (ping -n 2 127.1>nul &goto :d1) else (goto :c)
:d1
set name= W E L C O M E  B A T H O M E
set /a a=0
cls
color 02
:dd
if %time:~10,1% lss 3 set /a a+=1
set an=%random%%random%%random%%random%%random%%random%%random%%random%%random%
set an=%an:~0,20%!name:~0,%a%!%an:~20%
if %a% equ 32 set an=                       W E l C O M E  B A T H O M E &color 0a
cls
echo.&echo.&echo.
echo.       ●●●●    ●●●●  ●●●●●
echo.      ●      ● ●      ●     ●
echo.     ●●●●● ●●●●●     ●
echo.    ●      ● ●      ●     ●
echo.   ●●●●● ●      ●     ●
echo.
echo.
echo.            ●      ●  ●●●●   ●●●●   ●●●●●
echo.           ●      ● ●      ● ●  ●   ● ●
echo.          ●●●●● ●      ● ●  ●   ● ●●●●
echo.         ●      ● ●      ● ●  ●   ● ●
echo.        ●      ●  ●●●●  ●  ●   ● ●●●●●
echo.
echo.      %an%
echo.&echo.&echo.
echo. @ 哇
echo.^<^|\
echo./ \
ping -n>nul
if %a% lss 32 (goto :dd) else (goto :end)
:end
pause>nulCOPY

[ 本帖最后由 523066680 于 2008-8-3 21:40 编辑 ]
1

评分人数

[url=][/url]

TOP

耶 怪了

我复制batman的代码,保存为zw-bathome.bat
打开的时候就被删掉了也……好像是“-” 搞的  去掉了就没事
[url=][/url]

TOP

最终定稿:
@echo off&setlocal enabledelayedexpansion
color 1f&title made by batman 2008-08-02
:begin
echo.&echo.&echo.&echo.
for /f "skip=44 delims=" %%a in (%~fs0) do (
    set "str=%%a"&set /a n+=1
    if !n! lss 11 (
       if !n! leq 5 (
          set "a=c"
          ) else (
          set "a=a"
       )
       if !n! equ 6 echo.
       call :sp "%%a"&echo.
       ) else (
       if !n! equ 11 echo.&echo.
       set "var=!str!"&call :step
       if !n! equ 15 echo.
       if !n! geq 15 call :lp
    )
)
pause>nul&goto :eof
:lp
call :sp "no" 80
if %n% equ 15 (
   set "a=f"
   ) else (
   set "a=e"
)
call :sp "%str%"
set /a m+=1
if %m% lss 5 goto lp
if %n% equ 15 ping /n 2 127.1>nul&echo.&echo.
set "m=-5"&goto :eof
:step
set /p b=%var:~,1%<nul&set "var=%var:~1%"
for /l %%i in (1,1,200) do echo>nul
if defined var goto step
ping /n 2 127.1>nul
call :sp "no" 80&goto :eof
:sp
if %1 neq "no" set /p= <nul>%1&findstr /a:1%a% .* %1*
for /l %%i in (1,1,%2) do set /p= <nul
del /q %1*>nul 2>nul&goto :eof
               ●●●●    ●●●●  ●●●●●
              ●      ● ●      ●     ●
             ●●●●● ●●●●●     ●
            ●      ● ●      ●     ●
           ●●●●● ●      ●     ●
                    ●      ●  ●●●●   ●●●●   ●●●●●
                   ●      ● ●      ● ●  ●   ● ●
                  ●●●●● ●      ● ●  ●   ● ●●●●
                 ●      ● ●      ● ●  ●   ● ●
                ●      ●  ●●●●  ●  ●   ● ●●●●●
                            我们,在Windows窗前
                      为了追逐的梦,叩响CMD深邃的大门
                     多少回挑灯夜战,又多少次彻夜难眠
                   身心虽已疲倦,然心中却有个坚定的信念:
                     精益求精缔造完美,不言最好只求更高
         www.bathome.net ----- It's the best professional batwebsiteCOPY


[ 本帖最后由 batman 于 2008-8-3 23:11 编辑 ]
***共同提高***

TOP

很高深呀,学习学习。

TOP

还是喜欢第一楼的效果 --黑影
[url=][/url]

TOP

本人初学!
问下 斑竹是怎么做到bat和home的颜色不一?
我怎么没看见color??请教!

TOP

原帖由 jellyhk 于 2008-10-6 19:21 发表
本人初学!
问下 斑竹是怎么做到bat和home的颜色不一?
我怎么没看见color??请教!

颜色是在这个标签内实现变化的:
:sp
if %1 neq "no" set /p= <nul>%1&findstr /a:1%a% .* %1*
for /l %%i in (1,1,%2) do set /p= <nul
del /q %1*>nul 2>nul&goto :eofCOPY
在cmd中键入findstr /?,你会看到这样一行: [/A:attr   指定有十六进位数字的颜色属性。
请见 "color /?"],但这样的帮助信息会让你看得云里雾里,我就结合上面的代码来稍做下
说明:当findstr 后面跟/a:的开关时将会以紧跟在":"号后的两个颜色编码(前面一个是背景
,后面的一个是字符颜色)来输出查找内容(注意这个内容是彩色的文件名加":"号,后面
紧跟文件本身内容),我们先来段代码以帮助理解:
有文本a.txt内容如下
bathome is the best webbbsCOPY
在cmd中键入findstr /a:1f .* *a.txt(注意后面的*是通配符是必加的)
你会发现会输出如下内容:

现在如文本内容为空,是不是仅会输出彩色的文件名了加":"号了,那么我们怎么去掉这个":"
号呢,我们就来认识一下神奇的退格符""了,退格符顾名思义就是退一格,而这个退一格
是将光标退一格,那么当标退格后再次输入的内容将会覆盖前面的内容,于是我们只要在a.txt
中输入" "(退格符+空格+退格符)是不是就将这个":"去掉了,而当sp标签的第一句命令:
if %1 neq "no" set /p= <nul>%1&findstr /a:1%a% .* %1*中的%a%和%1两个参数发生变化
屏幕输出内容和输出颜色就会相应进行变化,只是这样会每次生成一个以%1命名的文件,所以
标签中最后来个句:del /q %1*>nul 2>nul&goto :eof输出后再将生成的临时文件删除。

[ 本帖最后由 batman 于 2008-10-6 21:06 编辑 ]
附件: 您需要登录才可以下载或查看附件。没有帐号?注册
***共同提高***

TOP

都是高手啊,我怎么就不能编出来了

TOP

回复 9楼 的帖子

原帖有误,现已纠正。

[ 本帖最后由 lifenjoiner 于 2010-10-1 21:40 编辑 ]

TOP

回复 11楼 的帖子

不可以
你应该向他请教一下为啥那样写^_^
我帮忙写的代码不需要付钱。如果一定要给,请在微信群或QQ群发给大家吧。
【微信公众号、微信群、QQ群】http://bbs.bathome.net/thread-3473-1-1.html
【支持批处理之家,加入VIP会员!】http://bbs.bathome.net/thread-67716-1-1.html

TOP

我保存成bat格式

为什么运行部出来啊

TOP

回复 12楼 的帖子

呵呵,谢了,原理我明白。

[ 本帖最后由 lifenjoiner 于 2010-10-1 21:52 编辑 ]

TOP

三楼的那个代码是怎么编的?看不懂!

TOP

返回列表