[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

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

  1. @echo off&setlocal enabledelayedexpansion
  2. title made by batman 2008-08-02
  3. :begin
  4. echo.&echo.&echo.&echo.&set "n=0"&set "m=0"
  5. for /f "skip=26 delims=" %%a in (%~fs0) do (
  6.     for %%i in (0 5 10) do if !n! equ %%i set /a a=!random!%%10
  7.     set "str=%%a"&set /a n+=1
  8.     for %%m in (6 11) do if !n! equ %%m echo.&echo.
  9.     if !n! neq 11 call :sp "%%a"&echo.
  10. )
  11. call :sp "no" 80
  12. set "var=%str%"
  13. :lp
  14. set /p b=%var:~,1%<nul&set "var=%var:~1%"
  15. for /l %%i in (1,1,100) do echo>nul
  16. if defined var goto lp
  17. :loop
  18. call :sp "no" 80
  19. call :sp "%str%"
  20. set /a m+=1&if !m! lss 10 goto loop
  21. del /q ●* *-*>nul 2>nul
  22. ping /n 3 127.1>nul&cls&goto begin
  23. :sp
  24. if %1 neq "no" set /p= <nul>%1&findstr /a:0%a% .* %1*
  25. for /l %%i in (1,1,%2) do set /p= <nul
  26. del /q ●* *-*>nul 2>nul&goto :eof
  27.                ●●●●    ●●●●  ●●●●●
  28.               ●      ● ●      ●     ●
  29.              ●●●●● ●●●●●     ●
  30.             ●      ● ●      ●     ●
  31.            ●●●●● ●      ●     ●
  32.                     ●      ●  ●●●●   ●●●●   ●●●●●
  33.                    ●      ● ●      ● ●  ●   ● ●
  34.                   ●●●●● ●      ● ●  ●   ● ●●●●
  35.                  ●      ● ●      ● ●  ●   ● ●
  36.                 ●      ●  ●●●●  ●  ●   ● ●●●●●
  37.          www.bathome.net ----- It's the best professional batwebsite。
复制代码
4

评分人数

***共同提高***

更新版:
  1. @echo off&setlocal enabledelayedexpansion
  2. color 1f&title made by batman 2008-08-02
  3. :begin
  4. echo.&echo.&echo.&echo.
  5. for /f "skip=32 delims=" %%a in (%~fs0) do (
  6.     for %%i in (0 5 10) do if !n! equ %%i set /a a=!random!%%9+1
  7.     set "str=%%a"&set /a n+=1
  8.     for %%m in (6 11) do if !n! equ %%m echo.&echo.
  9.     if !n! lss 11 (
  10.        call :sp "%%a"&echo.
  11.        ) else (
  12.        set "var=!str!"&call :step
  13.        if !n! geq 15 call :lp
  14.     )
  15. )
  16. pause>nul&goto :eof
  17. :lp
  18. call :sp "no" 80
  19. call :sp "%str%"
  20. set /a m+=1&if !m! lss 5 goto lp
  21. if %n% equ 15 ping /n 2 127.1>nul&echo.&echo.
  22. set "m=-5"&set /a a=%random%%%9+1&goto :eof
  23. :step
  24. set /p b=%var:~,1%<nul&set "var=%var:~1%"
  25. for /l %%i in (1,1,200) do echo>nul
  26. if defined var goto step
  27. ping /n 2 127.1>nul
  28. call :sp "no" 80&goto :eof
  29. :sp
  30. if %1 neq "no" set /p= <nul>%1&findstr /a:0%a% .* %1*
  31. for /l %%i in (1,1,%2) do set /p= <nul
  32. del /q ●* 精* *-*>nul 2>nul&goto :eof
  33.                ●●●●    ●●●●  ●●●●●
  34.               ●      ● ●      ●     ●
  35.              ●●●●● ●●●●●     ●
  36.             ●      ● ●      ●     ●
  37.            ●●●●● ●      ●     ●
  38.                     ●      ●  ●●●●   ●●●●   ●●●●●
  39.                    ●      ● ●      ● ●  ●   ● ●
  40.                   ●●●●● ●      ● ●  ●   ● ●●●●
  41.                  ●      ● ●      ● ●  ●   ● ●
  42.                 ●      ●  ●●●●  ●  ●   ● ●●●●●
  43.                           我们,在Windows窗前
  44.                     为了追逐的梦,叩响CMD深邃的大门
  45.                    多少回挑灯夜战,又多少次彻夜难眠
  46.                  身心虽已疲倦,然心中却有个坚定的信念:
  47.                   精益求精力求完美,不言最好只求更高
  48.          www.bathome.net ----- It's the best professional batwebsite。
复制代码

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

TOP

最终定稿:
  1. @echo off&setlocal enabledelayedexpansion
  2. color 1f&title made by batman 2008-08-02
  3. :begin
  4. echo.&echo.&echo.&echo.
  5. for /f "skip=44 delims=" %%a in (%~fs0) do (
  6.     set "str=%%a"&set /a n+=1
  7.     if !n! lss 11 (
  8.        if !n! leq 5 (
  9.           set "a=c"
  10.           ) else (
  11.           set "a=a"
  12.        )
  13.        if !n! equ 6 echo.
  14.        call :sp "%%a"&echo.
  15.        ) else (
  16.        if !n! equ 11 echo.&echo.
  17.        set "var=!str!"&call :step
  18.        if !n! equ 15 echo.
  19.        if !n! geq 15 call :lp
  20.     )
  21. )
  22. pause>nul&goto :eof
  23. :lp
  24. call :sp "no" 80
  25. if %n% equ 15 (
  26.    set "a=f"
  27.    ) else (
  28.    set "a=e"
  29. )
  30. call :sp "%str%"
  31. set /a m+=1
  32. if %m% lss 5 goto lp
  33. if %n% equ 15 ping /n 2 127.1>nul&echo.&echo.
  34. set "m=-5"&goto :eof
  35. :step
  36. set /p b=%var:~,1%<nul&set "var=%var:~1%"
  37. for /l %%i in (1,1,200) do echo>nul
  38. if defined var goto step
  39. ping /n 2 127.1>nul
  40. call :sp "no" 80&goto :eof
  41. :sp
  42. if %1 neq "no" set /p= <nul>%1&findstr /a:1%a% .* %1*
  43. for /l %%i in (1,1,%2) do set /p= <nul
  44. del /q %1*>nul 2>nul&goto :eof
  45.                ●●●●    ●●●●  ●●●●●
  46.               ●      ● ●      ●     ●
  47.              ●●●●● ●●●●●     ●
  48.             ●      ● ●      ●     ●
  49.            ●●●●● ●      ●     ●
  50.                     ●      ●  ●●●●   ●●●●   ●●●●●
  51.                    ●      ● ●      ● ●  ●   ● ●
  52.                   ●●●●● ●      ● ●  ●   ● ●●●●
  53.                  ●      ● ●      ● ●  ●   ● ●
  54.                 ●      ●  ●●●●  ●  ●   ● ●●●●●
  55.                             我们,在Windows窗前
  56.                       为了追逐的梦,叩响CMD深邃的大门
  57.                      多少回挑灯夜战,又多少次彻夜难眠
  58.                    身心虽已疲倦,然心中却有个坚定的信念:
  59.                      精益求精缔造完美,不言最好只求更高
  60.          www.bathome.net ----- It's the best professional batwebsite
复制代码


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

TOP

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

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

返回列表