Board logo

标题: 能否做到跟据变量中数字的改变而自动调整显示? [打印本页]

作者: BC     时间: 2008-9-10 18:04    标题: 能否做到跟据变量中数字的改变而自动调整显示?

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后补上空格令其对齐? 谢.

作者: BC     时间: 2008-9-10 19:27
没人鸟我

作者: huahua0919     时间: 2008-9-10 19:40
就按照你说的就可以了,不过要计算这么多变量中哪个值的长度最大不是一件容易的事情

作者: pusofalse     时间: 2008-9-10 19:42
是否是这样:
@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

作者: huahua0919     时间: 2008-9-10 19:51
随机变量的长度不超过6位,所以楼上这样计算不符合楼主的意思吧

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

作者: BC     时间: 2008-9-10 20:07
Originally posted by huahua0919 at 2008-9-10 07:40 PM: 就按照你说的就可以了,不过要计算这么多变量中哪个值的长度最大不是一件容易的事情
就是这个原因... 先试试那个方法先...

作者: BC     时间: 2008-9-10 20:09
Originally posted by pusofalse at 2008-9-10 08:06 PM: 我只是举一个例子而已,看楼主上面的写的“时间、人物、地点、做什么”就能想象变量的值不只是一两个字符那么简单。 真正用到的话,同你的思路一样,先找出最长的值n,然后填充n+1个空格,其他同是。
话说这个可能行,因为我的变量是先前设置好的... 但是如果能做到自动获取就更好了...

作者: slore     时间: 2008-9-10 21:13
多加几个TAB

作者: BC     时间: 2008-9-10 21:14
Originally posted by slore at 2008-9-10 09:13 PM: 多加几个TAB
试试先...还可以哦... [ Last edited by BC on 2008-9-10 at 09:16 PM ]