当前位置: 首页 > 图文教程 > 脚本技术 > DOS/BAT > bat实现的模仿黑客帝国里面的数码雨

DOS/BAT
每天按时 重启服务器 的批处理
Netsh 命令备份和恢复网络设置
批处理 Set 命令详解 让你理解set命令
cd命令 目录跳转
cmd tree命令 以树形格式罗列文件
dos 内容重定向符 >和>>
cmd if条件 条件判断
cmd goto命令 流程跳转
cmd copy命令 文件复制
cmd del命令 文件删除
cmd ren命令 重命名文件(夹)
cmd md命令 创建文件夹
cmd rd命令 删除文件夹
cmd move命令 移动文件(夹)
字符串查找 cmd find命令
常用的批处理实用技巧
批处理 添加隐藏用户代码
服务器 安全设置 批处理
WIN2003 服务器安全配置批处理文件
批处理 实现定时关机、注销、重启、锁定等功能

DOS/BAT 中的 bat实现的模仿黑客帝国里面的数码雨


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-09-11   浏览: 56 ::
收藏到网摘: n/a

::黑客帝国里数码雨
@echo %dbg% off
:: Code by redtek 2006-11-2 CMD@XP
:: 出处:http://www.cn-dos.net/forum/viewthread.php?tid=24418
setlocal ENABLEDELAYEDEXPANSION
mode con cols=80 lines=30
cls
set 退格=
set redtek=" "
set end=0
:start
set /a end+=1
call :calc
set /p=!setspaces! nul
set /p=%退格%<NUL
set /p=%redtek:~1,79%<NUL&ECHO.
goto :start
:calc
if %end%==28 (
set /a end=0 & cls & set /a cols=!random:~0,2!
echo ... 风力:!cols! ...
if !cols! GTR 76 set cols=76
if !cols! LSS 2 set cols=2
set setspaces=!redtek:~1,%cols%!!random:~0,1!
goto :eof
)
@echo off
:: Code by JM 2006-11-3 CMD@XP
:: 出处:http://www.cn-dos.net/forum/viewthread.php?tid=24418
:: test.txt内容为:1234567890abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ~`!@#%&*(){}[]_+-=\"'?.,/
:: 暂时不能处理 |<>^
mode con cols=80
color 02
for /f %%i in (test.txt) do set str_char=%%i
set str_blank=
setlocal enabledelayedexpansion
:loop
:: 取随机位置上的字符
set /a num_char=1%random:~-1%%random:~0,1%-100
set char=!str_char:~-%num_char%,1!
:: 设置随机长度的空格
set /a num_blank=1%random:~-1%%random:~0,1%-100
set blank=!str_blank:~0,%num_blank%!
echo.%blank%%char%
goto loop
@echo off
:: Code by 不得不爱 2006-11-3 CMD@XP
:: 出处:http://www.cn-dos.net/forum/viewthread.php?tid=24418
mode con cols=80
set a=1234567890abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ~`!@#%.*(){}[]_+-=\"'?.,/^&^^^>^<
set b=
setlocal enabledelayedexpansion
:a
set /a num=%random%%%92
set 字符=!a:~-%num%,1!
set/a c=%random%%%80
set 空格=!b:~-%c%!
echo %空格%^%字符%
goto a

@echo off
:: Code by yfd11 2006-11-3 CMD@XP
:: 出处:http://www.cn-dos.net/forum/viewthread.php?tid=24418
mode con cols=80 LINES=30
set a=1234567890abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ~`!@#%.*(){}[]_+-=\"'?.,/^&^^^>^<
set b=
setlocal enabledelayedexpansion
:a
set /a num=%random%%%92
set 字符=!a:~-%num%,1!
set/a c=%random%%%80
set 空格=!b:~-%c%!
::echo. %空格%^%字符%
set/a i+=1
rem 指针=i 尾指针=j
set/a j=i-30
set line%i%=%空格%^%字符%
FOR /L %%v IN (%i%,-1,%j%) DO echo.!line%%v!
::ping /n 127.1>nul
goto a
@echo off
:: Code by hxuan999 2006-11-12 CMD@XP
:: 出处:http://www.cn-dos.net/forum/viewthread.php?tid=24418
::mode con cols=80
setlocal ENABLEDELAYEDEXPANSION
color 02
goto BEGIN
goto :eof
::function mt_rand "a" "b"
:mt_rand
::(
set a=%~1
set b=%~2
set /a _mt_rand=(!random!%%(%b%-%a%))+%a%
exit /b 0
::)
:BEGIN
::{--
SET iWidth=80
SET iDensity=6
SET sText="#$&'()*+,-./0123456789:;<>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~
SET sText=!sText:"=!
set /A iText=90-1
for /l %%i in (1,1,%iWidth%) do (
set aDown%%i=0
)
:loop
for /l %%I in (1,1,%iWidth%) do (
set /a aDown%%I-=1
if !aDown%%I! LSS 0 (
call :mt_rand "0" "%iDensity%"&&set aArrow%%I=!_mt_rand!
call :mt_rand "10" "25"&&set aDown%%I=!_mt_rand!
)
if !aArrow%%I! EQU 1 (
call :mt_rand "0" "%iText%"&&(FOR %%M IN ("!_mt_rand!") DO SET aa=!sText:~%%~M,1!)
set /p=!aa!<NUL
) else (
set /p= <NUL
)
)
goto loop
::--}
:exit
exit /b 0
@echo off
:: Code by hxuan999 2006-11-12 CMD@XP
:: 出处:http://www.cn-dos.net/forum/viewthread.php?tid=24418
setlocal ENABLEDELAYEDEXPANSION
color 02
for /l %%i in (1,1,80) do (
set Down%%i=0
)
:loop
for /l %%j in (1,1,80) do (
set /a Down%%j-=1
if !down%%j! LSS 0 (
set /a Arrow%%j=!random!%%4
set /a Down%%j=!random!%%15+10
)
if "!Arrow%%j!" == "1" (
set /a chr=!random!%%2
set /p=!chr!<NUL
) else (
set /p= <NUL
)
)
goto loop
goto :eof
@echo off
:: Code by newaifi 2006-11-16 CMD@XP
:: 出处:http://www.cn-dos.net/forum/viewthread.php?tid=24418
setlocal ENABLEDELAYEDEXPANSION
for /l %%i in (1,1,80) do (
set Down%%i=0
)
for /l %%i in (0) do (
set line=
for /l %%j in (1,1,80) do (
set /a Down%%j-=1
call set x=!down%%j!
if !x! LSS 0 (
set /a Arrow%%j=!random!%%6
set /a Down%%j=!random!%%15+10
)
call set x=!Arrow%%j!
if "!x!" == "1" (
set line=!line!1
) else (set "line=!line! ")
)
call set /p=!line!<NUL
)