中国DOS联盟论坛

中国DOS联盟

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

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

游客:  注册 | 登录 | 命令行 | 会员 | 搜索 | 上传 | 帮助 »
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » 无聊跟风:竖向排版方式发帖之批处理版
作者:
标题: 无聊跟风:竖向排版方式发帖之批处理版 上一主题 | 下一主题
HAT
版主





积分 9023
发帖 5017
注册 2007-5-31
状态 离线
『楼 主』:  无聊跟风:竖向排版方式发帖之批处理版


@echo off
setlocal enabledelayedexpansion
type nul>b.txt
set test=最近看到网上有人喜欢用竖向排版方式发帖,感觉很有意思,就写了一个批处理排版,与大家分享。有时间的话,我希望自己能够继续完善这个批处理。
set rows=10
set clos=10
set /a tmpclos=%clos%*2-1
set header=╔
set footer=╚
for /l %%a in (1,1,%tmpclos%) do (
  set /a flag=%%a%%2
  if !flag! == 1 (
    set header=!header!═
    set footer=!footer!═
  ) else (
    set header=!header!╤
    set footer=!footer!╧
  )
)
set header=!header!╗
set footer=!footer!╝
echo !header!>>b.txt
for /l %%a in (1,1,%rows%) do (
  set curclo=0
  set row=║
  for /l %%b in (1,1,%clos%) do (
    set /a curclo+=1
    set /a cut=%clos%-%%b
    set /a cut=!cut!*%rows%+%%a-1
    call set char=%%test:~!cut!,1%%
    if "!char!" equ "" (
      set row=!row! 
    ) else (
      set row=!row!!char!
    )
    if !curclo! lss %clos% (
      set row=!row!│
    )
  )
  echo !row!║>>b.txt
)
echo !footer!>>b.txt


  Quote:
╔═╤═╤═╤═╤═╤═╤═╤═╤═╤═╗
║ │ │ │善│我│家│一│感│用│最║
║ │ │ │这│希│分│个│觉│竖│近║
║ │ │ │个│望│享│批│很│向│看║
║ │ │ │批│自│。│处│有│排│到║
║ │ │ │处│己│有│理│意│版│网║
║ │ │ │理│能│时│排│思│方│上║
║ │ │ │。│够│间│版│,│式│有║
║ │ │ │ │继│的│,│就│发│人║
║ │ │ │ │续│话│与│写│帖│喜║
║ │ │ │ │完│,│大│了│,│欢║
╚═╧═╧═╧═╧═╧═╧═╧═╧═╧═╝



   此帖被 +27 点积分       点击查看详情   
评分人:【 pusofalse 分数: +3  时间:2008-7-8 08:42
评分人:【 bat-zw 分数: +9  时间:2008-7-8 14:46
评分人:【 PPdos 分数: +7  时间:2008-7-8 19:15
评分人:【 523066680 分数: +8  时间:2008-8-20 09:02




2008-7-8 00:52
查看资料  发短消息 网志   编辑帖子  回复  引用回复
pusofalse
银牌会员




积分 1604
发帖 646
注册 2008-4-13
状态 离线
『第 2 楼』:  

高。。。^_^



心绪平和,眼藏静谧,无比安稳的火... Purification of soul...Just a false...^_^
2008-7-8 08:42
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
26933062
银牌会员





积分 2268
发帖 879
注册 2006-12-19
状态 离线
『第 3 楼』:  

呵呵,我也跟个风。。。
@echo off&setlocal enabledelayedexpansion
set str=最近看到网上有人喜欢用竖向排版方式发帖,感觉很有意思,就写了一个批处理排版,与大家分享。有时间的话,我希望自己能够继续完善这个批处理。 
for /l %%i in (1 1 10) do (
   for /l %%a in (3 2 21) do set "h%%i.%%a=│"
   set h%%i.21=║&set "h%%i.1=║"
)
for /l %%a in (20 -2 2) do (
   for /l %%i in (1 1 10) do (
      if defined str (
         set h%%i.%%a=!str:~0,1!
         set str=!str:~1!
       ) else set "h%%i.%%a= "
))
echo ╔═╤═╤═╤═╤═╤═╤═╤═╤═╤═╗
for /l %%i in (1 1 10) do (
   for /l %%a in (1 1 21) do set /p=!h%%i.%%a!<nul
   echo.  
)
echo ╚═╧═╧═╧═╧═╧═╧═╧═╧═╧═╝
pause>nul
[ Last edited by 26933062 on 2008-7-8 at 11:13 AM ]



致精致简!
2008-7-8 11:07
查看资料  发短消息 网志   编辑帖子  回复  引用回复
wjdidi
初级用户





积分 175
发帖 55
注册 2007-4-30
状态 离线
『第 4 楼』:  

3楼的代码更简练

2008-7-8 13:50
查看资料  发短消息 网志   编辑帖子  回复  引用回复
HAT
版主





积分 9023
发帖 5017
注册 2007-5-31
状态 离线
『第 5 楼』:  

其实开始我是想动态生成列的数目,所以写的复杂了,呵呵,哪天心血来潮的时候再改写。



2008-7-8 13:56
查看资料  发短消息 网志   编辑帖子  回复  引用回复
bat-zw
金牌会员

永远的学习者


积分 3105
发帖 1276
注册 2008-3-8
状态 离线
『第 6 楼』:  

我认为重要的不是技巧,而是思路,HAT兄加油!!!



批处理之家新域名:www.bathome.net
2008-7-8 14:46
查看资料  发送邮件  发短消息 网志  OICQ (841615149)  编辑帖子  回复  引用回复
hongewuyan
初级用户





积分 65
发帖 29
注册 2008-3-24
状态 离线
『第 7 楼』:  

┌─┬─┬─┬─┬─┬─┬─┬─┐
│ ┆ ┆ ┆ ┆ ┆。┆,┆非│
│ ┆ ┆ ┆ ┆ ┆学┆非┆常│
│ ┆ ┆ ┆ ┆ ┆习┆常┆强│
│ ┆ ┆ ┆ ┆ ┆中┆巧┆大│
│ ┆ ┆ ┆ ┆ ┆。┆妙┆的│
│ ┆ ┆ ┆ ┆ ┆ ┆的┆批│
│ ┆ ┆ ┆ ┆ ┆ ┆思┆处│
│ ┆ ┆ ┆ ┆ ┆ ┆路┆理│
└─┴─┴─┴─┴─┴─┴─┴─┘

2008-7-8 15:13
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复

请注意:您目前尚未注册或登录,请您注册登录以使用论坛的各项功能,例如发表和回复帖子等。


可打印版本 | 推荐给朋友 | 订阅主题 | 收藏主题



论坛跳转: