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

::黑客帝国里数码雨
@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
)

时间: 2024-10-19 22:00:43

bat实现的模仿黑客帝国里面的数码雨_DOS/BAT的相关文章

批处理BAT加强函数代码使用说明第1/3页_DOS/BAT

文章结构 1. 所有内置命令的帮助信息 2. 环境变量的概念 3. 内置的特殊符号(实际使用中间注意避开) 4. 简单批处理文件概念 5. 附件1 tmp.txt 6. 附件2 sample.bat ###################################################################### 1. 所有内置命令的帮助信息 ################################################################

bat延时执行命令的另一种方法_DOS/BAT

第一种方法: 复制代码 代码如下: ping 127.0.0.1 -n 5000>nul dir c:\ >c:\1.txt 延时5分钟后执行dir c:\ 第二种方法 复制代码 代码如下: :: Sleep.bat - Sleep/Delay/Wait n seconds :: Herbert Kleebauer(Germany) - 2005/05/29 :: Modified by Will Sort - 2005/06/02 @echo off echo q | debug>nu

Windows运行bat批处理文件时隐藏cmd命令提示符窗口的方法_DOS/BAT

我们在Windows中运行bat批处理文件时往往会弹出一个cmd命令提示符窗口,然后等一会儿cmd窗口就自动关闭了,有人会说,直接在bat批处理文件中加入echo off命令么好了,没错,echo off确实可以关闭cmd窗口,但是cmd窗口最初还是会弹出一下再消失,下面就教大家运行bat批处理文件时如何彻底隐藏cmd命令提示符窗口的方法. 方法就是通过vbs脚本来彻底隐藏执行bat批处理文件,将以下代码保存为.vbs文件,然后直接执行这个.vbs文件即可彻底隐藏cmd窗口了: Set ws =

BAT批处理判断目录在%Path%中实现方法_DOS/BAT

貌似没有很优美的做法,只能把%Path%按分号分割,然后一段一段地比较. :InPath [In]Path [Out]0/1 SETLOCAL SET LocalPathCopy=%PATH% SET Result=0 :WHILE IF "%LocalPathCopy" == "" GOTO WEND FOR /F "delims=;" %%I IN ("%LocalPathCopy%") DO ( IF /I "

bat与注册表操作的方法分析[原创]_DOS/BAT

bat(批处理)操作注册表的方法,我知道的应该有两种1,结合用reg.exe实现读写注册表2,用bat输出文件,然后regedit /s 1.reg 这样的格式来实现 输出vbs等都是这种 echo cmd.exe /k dir c: > c:\windows\system32\1.bat reg add "HKCU\Software\Microsoft\Windows\CurrentVersion\Run" /v "test" /d "c:\win

dos、bat批处理延时执行命令的两种方法_DOS/BAT

来源:vbs小铺 第一种方法: ping 127.0.0.1 -n 5000>nul dir c:\ >c:\1.txt 延时5分钟后执行dir c:\ 第二种方法 :: Sleep.bat - Sleep/Delay/Wait n seconds :: Herbert Kleebauer(Germany) - 2005/05/29 :: Modified by Will Sort - 2005/06/02 @echo off echo q | debug>nul echo Bj@jzh

bat批处理批量修改文件扩展名的方法_DOS/BAT

有的时候我们可能会遇到,在一个文件夹内有很多个文件,我们需要修改这些文件的扩展名,当然我们可以一个一个的修改,可是如果有很多文件,那就很麻烦了,所以今天就教大家批量修改文件扩展名的方法,希望大家能够灵活运用. 这里假设你要把扩展名为.gif的文件都改成.jpg格式,那么具体方法如下: 1.首先进入需要改扩展名的文件夹内新建一个记事本 2.在记事本中输入如下内容 复制代码 代码如下: ren *.gif *.jpg 3.将记事本的扩展名改名为.bat 4.双击运行bat文件即可批量将该文件夹下的所

批处理bat删除指定天数日期之前的文件夹_DOS/BAT

[方案一]BAT + REG + VBS 复制代码 代码如下: @echo off ::演示:删除指定路径下指定天数之前(以文件夹的最后修改日期为准)的文件夹. ::如果演示结果无误,把rd前面的echo去掉,即可实现真正删除. ::本例调用了临时VBS代码进行日期计算 ::本例为兼容不同的日期格式,调用reg命令(XP系统自带)统一设置日期格式, ::处理完毕之后再把日期格式恢复成原来的状态. rem 指定待删除文件夹的存放路径 set SrcDir=C:/Test rem 指定天数 set

批处理bat设置固定IP地址和自动IP地址_DOS/BAT

在我个人的使用经验中,我有不同的工作环境,比如公司和家里,公司要求固定IP,而家里则使用自动获取IP的方式,所以我就在网上找了这段代码,并且经过自己的修改,可以直接双击运行就可以,方便IP地址的切换. 这里主要使用netsh命令,不太明白的可以自己去百度查,这里就不列举它的用法了,具体代码如下: 固定IP和DNS.bat 复制代码 代码如下: @echo off cls color 0A Echo *************************************************