Board logo

标题: [文本处理] [已解决]批处理动态逐字显示一副对联 [打印本页]

作者: baiyuheitu    时间: 2009-4-26 11:37     标题: [已解决]批处理动态逐字显示一副对联

更新:我自己写了个,对联是随意的文字,请高手批评指正,水平有限,有很多不足之处!代码如下:
  1. @echo off&setlocal enabledelayedexpansion
  2. title 对联显示!
  3. mode con lines=25 cols=60
  4. set str=年年有余,家事,国事,天下事,风声,雨声,读书声
  5. set hengpi=%str:~0,4%
  6. set xialian=%str:~5,9%
  7. set shanglian=%str:~15,9%
  8. set c=0
  9. for /l %%i in (1 1 4) do (
  10. echo.&echo.&&set /a c+=1
  11. set /p=                    !hengpi:~0,%%i!<nul
  12. ping 127.1 -n 1 >nul
  13. if !c! lss 4 cls
  14. )
  15. echo.&echo.&echo.
  16. for /l %%j in (0 1 8) do (
  17. echo        !xialian:~%%j,1!
  18. ping 127.1 -n 1 >nul
  19. )
  20. cls&echo.&echo.&echo                      年年有余&echo.&echo.&echo.
  21. for /l %%k in (0 1 8) do (
  22. echo                                      !shanglian:~%%k,1!
  23. ping 127.1 -n 1 >nul
  24. )
  25. cls&echo.&echo.
  26. echo                  年 年 有 余
  27. echo                家            风
  28. echo                事            声
  29. echo                 ,            ,
  30. echo                国            雨
  31. echo                事            声
  32. echo                 ,            ,
  33. echo                天            读
  34. echo                下            书
  35. echo                事            声
  36. pause >nul
复制代码




原来部分:如何设计一批处理,显示一对联,左边一列,右边一列,上边横批。

[ 本帖最后由 baiyuheitu 于 2009-4-30 10:51 编辑 ]
作者: Batcher    时间: 2009-4-26 14:12

  1. @echo off
  2. echo   批处理之家
  3. echo 违          版
  4. echo 规          规
  5. echo 标          面
  6. echo 题          前
  7. echo 必          人
  8. echo 锁          人
  9. echo 无          平
  10. echo 疑          等
  11. pause
复制代码

作者: baiyuheitu    时间: 2009-4-26 14:58     标题: 回复 3楼 的帖子

谢谢啊,我现在想让上下联及横批滚动显示如何设计!
作者: xxx    时间: 2009-4-26 16:05     标题: 回复 3楼 的帖子

对得不工整啊...
作者: Batcher    时间: 2009-4-26 16:20     标题: 回复 4楼 的帖子

请把所有需求全部更新到顶楼
作者: baiyuheitu    时间: 2009-4-26 17:38     标题: 回复 5楼 的帖子

如何将帖子更新到顶楼??
作者: namejm    时间: 2009-4-26 18:05

  在顶楼编辑帖子,把你的最新要求写到顶楼去。为了方便区分,最好说明哪些是改动过的内容。
作者: everest79    时间: 2009-4-30 04:41

  1. @echo off
  2. set str=四四四四ABCDEFG1234567
  3. set "line=                    "
  4. set "sleep=ping 127.1 -n 2 >nul"
  5. echo.
  6. call :split  4 7  col   
  7. call :split 11 7  col "cls&echo."
  8. call :split  0 4 line "cls"
  9. pause>nul
  10. goto :eof
  11. :split
  12. set /a _tmp1=%1+%2-1,count=0
  13. for /l %%a in (%1,1,%_tmp1%) do (
  14. set /a count+=1
  15. %~4
  16. if %~3 == col (
  17. call call set %3%%count%%=%%%%%3%%count%%%%%%%line%%%str:~%%a,1%%
  18.     if %~1 == 4 (
  19. call :cout %%count%%  %%count%% %~3
  20.     ) else (
  21. call :cout 1          7         %~3
  22.     )
  23. ) else (
  24. call set %3=%%%3%%   %%str:~%%a,1%%
  25. call :cout 1          7         col "echo %%%3%%"
  26. )
  27. %sleep%
  28. )
  29. goto :eof
  30. :cout
  31. %~4
  32. for /l %%i in (%1,1,%2) do (
  33. call echo.%%%3%%i%%
  34. )
  35. goto :eof
复制代码

作者: baiyuheitu    时间: 2009-4-30 10:25     标题: 回复 8楼 的帖子

看的脑袋都大了!有点迷惑!




欢迎光临 批处理之家 (http://bbs.bathome.net/) Powered by Discuz! 7.2