中国DOS联盟论坛

中国DOS联盟

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

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

游客:  注册 | 登录 | 命令行 | 会员 | 搜索 | 上传 | 帮助 »
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » 能否做到跟据变量中数字的改变而自动调整显示?
作者:
标题: 能否做到跟据变量中数字的改变而自动调整显示? 上一主题 | 下一主题
BC
中级用户




积分 338
发帖 175
注册 2007-10-21
状态 离线
『楼 主』:  能否做到跟据变量中数字的改变而自动调整显示?


echo  时间       人物           地点          做什么
echo. %s1%       %k1%           %b1%           %x1%
echo. %s2%       %k2%           %b2%           %x2%
echo. %s3%       %k3%           %b3%           %x3%
echo. %s4%       %k4%           %b4%           %x4%
echo. %s5%       %k5%           %b5%           %x5%
echo. %s6%       %k6%           %b6%           %x6%
echo. %s7%       %k7%           %b7%           %x7%
echo. %s8%       %k8%           %b8%           %x8%
echo这些变量的时候能否做到表格随着变量字数的改变而自动调整?(类似于自动对齐)

我想能不能通过获取最长的变量字数,然后在echo后补上空格令其对齐?

谢.



C:\
C:\Del BC
2008-9-10 18:04
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
BC
中级用户




积分 338
发帖 175
注册 2007-10-21
状态 离线
『第 2 楼』:  

没人鸟我



C:\
C:\Del BC
2008-9-10 19:27
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
huahua0919
银牌会员




积分 1608
发帖 780
注册 2007-10-7
状态 离线
『第 3 楼』:  

就按照你说的就可以了,不过要计算这么多变量中哪个值的长度最大不是一件容易的事情

2008-9-10 19:40
查看资料  发送邮件  访问主页  发短消息 网志   编辑帖子  回复  引用回复
pusofalse
银牌会员




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

是否是这样:
@echo off
set "space=                            "
for /l %%a in (1 1 8) do (
     for %%i in (s k b x) do (
          call set "%%i%%a=%%random%%%space%"
          set/p=%%%%i%%a%%: <nul
          call set /p=%%%%i%%a:~,10%%<nul
     )
     echo.
)
pause




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




积分 1608
发帖 780
注册 2007-10-7
状态 离线
『第 5 楼』:  

随机变量的长度不超过6位,所以楼上这样计算不符合楼主的意思吧

2008-9-10 19:51
查看资料  发送邮件  访问主页  发短消息 网志   编辑帖子  回复  引用回复
pusofalse
银牌会员




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

我只是举一个例子而已,看楼主上面的写的“时间、人物、地点、做什么”就能想象变量的值不只是一两个字符那么简单。
真正用到的话,同你的思路一样,先找出最长的值n,然后填充n+1个空格,其他同是。



心绪平和,眼藏静谧,无比安稳的火... Purification of soul...Just a false...^_^
2008-9-10 20:06
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
BC
中级用户




积分 338
发帖 175
注册 2007-10-21
状态 离线
『第 7 楼』:  



  Quote:
Originally posted by huahua0919 at 2008-9-10 07:40 PM:
就按照你说的就可以了,不过要计算这么多变量中哪个值的长度最大不是一件容易的事情

就是这个原因...
先试试那个方法先...



C:\
C:\Del BC
2008-9-10 20:07
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
BC
中级用户




积分 338
发帖 175
注册 2007-10-21
状态 离线
『第 8 楼』:  



  Quote:
Originally posted by pusofalse at 2008-9-10 08:06 PM:
我只是举一个例子而已,看楼主上面的写的“时间、人物、地点、做什么”就能想象变量的值不只是一两个字符那么简单。
真正用到的话,同你的思路一样,先找出最长的值n,然后填充n+1个空格,其他同是。

话说这个可能行,因为我的变量是先前设置好的...

但是如果能做到自动获取就更好了...



C:\
C:\Del BC
2008-9-10 20:09
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
slore
铂金会员





积分 5212
发帖 2478
注册 2007-2-8
状态 离线
『第 9 楼』:  

多加几个TAB



S smile 微笑,L love 爱,O optimism 乐观,R relax 放松,E enthusiasm 热情...Slore
2008-9-10 21:13
查看资料  发短消息 网志   编辑帖子  回复  引用回复
BC
中级用户




积分 338
发帖 175
注册 2007-10-21
状态 离线
『第 10 楼』:  



  Quote:
Originally posted by slore at 2008-9-10 09:13 PM:
多加几个TAB

试试先...还可以哦...

[ Last edited by BC on 2008-9-10 at 09:16 PM ]



C:\
C:\Del BC
2008-9-10 21:14
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复

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


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



论坛跳转: