中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --

联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
DOS,代表着自由开放与发展,我们努力起来,学习FreeDOS和Linux的自由开放与GNU精神,共同创造和发展美好的自由与GNU GPL世界吧!

中国DOS联盟论坛
现在时间是 2026-08-06 19:51
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » [原创]********cn-dos动画******** 查看 653 回复 0
楼 主 [原创]********cn-dos动画******** 发表于 2007-12-11 17:30 ·  中国 北京 鹏博士BGP
银牌会员
★★★
积分 2,098
发帖 566
注册 2007-09-11 07:27
18年会员
UID 97070
性别 男
状态 离线
::CN-DOS Animation {s11ss 2007-12-11}

@echo off
setlocal enabledelayedexpansion
mode con cols=112 lines=15

::setVar
for /f "delims=" %%a in ('findstr "○" "%~f0"') do (
set/a n+=1
set "row!n!=%%a"
)

call :up2down 1 0
call :delay 2
call :up2down 2 1
call :delay 2
call :left2right 1 1 0
call :delay 2
call :left2right 8 10 1

pause>nul
goto :eof











:up2down
cls
echo.
echo.
for /l %%a in (2,1,%n%) do (
echo.!row%%a!
set/a t=%%a%%%1
if !t! equ 0 call :delay %2
)
goto :eof

:left2right
set/a m=%1
:lc
if %m% gtr 58 goto :eof
cls
echo.
echo.
for /l %%a in (2,1,%n%) do (
::It'll be more dynamic to print indirectly.
set t=!row%%a:~0,%m%!
echo.!t!
)
set/a m+=%2
call :delay %3
goto :lc

:delay
for /l %%a in (1,1,%1) do ping -n 1 0 >nul
goto :eof

   ○○○○   ○○    ○○          ○○○○○○      ○○○○     ○○○○○
  ○○  ○○  ○○○   ○○          ○○   ○○    ○○  ○○   ○○   ○○
 ○○    ○  ○○○○  ○○          ○○    ○○  ○○    ○○  ○○   ○○
 ○○       ○○○○  ○○          ○○    ○○  ○○    ○○  ○○
 ○○       ○○ ○○ ○○          ○○    ○○  ○○    ○○   ○○○
 ○○       ○○ ○○ ○○ ○○○○○○○○ ○○    ○○  ○○    ○○     ○○○
 ○○       ○○  ○○○○          ○○    ○○  ○○    ○○       ○○
 ○○    ○  ○○  ○○○○          ○○    ○○  ○○    ○○  ○○   ○○
  ○○  ○○  ○○   ○○○          ○○   ○○    ○○  ○○   ○○   ○○
   ○○○○   ○○    ○○          ○○○○○○      ○○○○     ○○○○○  
本帖最近评分记录 (共 1 条) 点击查看详情
评分人分数时间
everest79 +15 2007-12-11 17:46
论坛跳转: