中国DOS联盟论坛

中国DOS联盟

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

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

游客:  注册 | 登录 | 命令行 | 会员 | 搜索 | 上传 | 帮助 »
中国DOS联盟论坛 » DOS疑难解答 & 问题讨论 (解答室) » [求助]dos7.1下,用echo将字符输出到文件,能否进行对齐
作者:
标题: [求助]dos7.1下,用echo将字符输出到文件,能否进行对齐 上一主题 | 下一主题
nobodytt
初级用户





积分 78
发帖 33
注册 2008-12-9
状态 离线
『楼 主』:  [求助]dos7.1下,用echo将字符输出到文件,能否进行对齐

比如用echo向文件中输入两行两列文字,则如果第一列的文字不一样长,那么第二列以后的文字就不能保持对齐,如下所示:

123456         test           
123          test


不知在dos7.1下有没有办法对echo输出到文件的内容进行对齐?

2009-2-1 19:58
查看资料  发短消息 网志   编辑帖子  回复  引用回复
Sufone
中级用户





积分 256
发帖 124
注册 2007-12-18
状态 离线
『第 2 楼』:  

echo命令只是将文本不加任何修改的显示,不借助其他命令无法实现楼主的要求

2009-2-2 12:31
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
nobodytt
初级用户





积分 78
发帖 33
注册 2008-12-9
状态 离线
『第 3 楼』:  

那么有没有什么好的外部命令可以实现?

2009-2-2 15:37
查看资料  发短消息 网志   编辑帖子  回复  引用回复
DOSforever
金牌会员





积分 4639
发帖 2239
注册 2005-1-30
状态 离线
『第 4 楼』:  

你想怎么个对齐,左对齐?右对齐?每列首对齐?



DOS倒下了,但永远不死
DOS NEVER DIES !

投票调查:
http://www.cn-dos.net/forum/viewthread.php?tid=46187

本人尚未解决的疑难问题:
http://www.cn-dos.net/forum/viewthread.php?tid=15135
http://www.cn-dos.net/forum/viewthread.php?tid=47663
http://www.cn-dos.net/forum/viewthread.php?tid=48747
2009-2-6 00:51
查看资料  发短消息 网志   编辑帖子  回复  引用回复
nobodytt
初级用户





积分 78
发帖 33
注册 2008-12-9
状态 离线
『第 5 楼』:  

每列左对齐

2009-2-6 17:06
查看资料  发短消息 网志   编辑帖子  回复  引用回复
DOSforever
金牌会员





积分 4639
发帖 2239
注册 2005-1-30
状态 离线
『第 6 楼』:  

可以用 4DOS 的 @format 变量函数

  Quote:

4DOS Help Topic:  @FORMAT


@FORMAT[[-][[0]x][.y],string]:  Reformats a string, truncating it or padding
it with spaces as necessary.  If you use the minus [-], the string is
left-justified; otherwise, it is right-justified.  The x value is the
minimum number of characters in the result.  The y value is the maximum
number of characters in the result.  You can combine the options as
necessary.  For example:

    "%@format[12,JPSoftware]"   returns "  JPSoftware"
    "%@format[.3,JPSoftware]"   returns "JPS"

@FORMAT will add leading or trailing spaces if necessary to pad the result
to the minimum width specified by x.  If a leading zero is used before x,
the padding will be with 0's instead, for example:

    "%@format[4,5]"     returns "   5"
    "%@format[04,5]"    returns "0005"
    "%@format[-04,5]"   returns "5000"

See also the @COMMA function, which can make numeric values easier to read
by inserting thousands separators.

要每列左对齐的话,也就是说前一列的长度都要相同,少于所需长度的要填充空格(也可以是0),以你的例子为例,假定第一列的最大字串长度为6(列之间的空格不计,是随便你预先输入的,当然,也可以包括到函数中去)。

echo %@format[-6,123]          test

得到的结果就是

123             test



DOS倒下了,但永远不死
DOS NEVER DIES !

投票调查:
http://www.cn-dos.net/forum/viewthread.php?tid=46187

本人尚未解决的疑难问题:
http://www.cn-dos.net/forum/viewthread.php?tid=15135
http://www.cn-dos.net/forum/viewthread.php?tid=47663
http://www.cn-dos.net/forum/viewthread.php?tid=48747
2009-2-6 17:52
查看资料  发短消息 网志   编辑帖子  回复  引用回复

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


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



论坛跳转: