中国DOS联盟

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

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

中国DOS联盟论坛
现在时间是 2026-07-07 01:15
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » echo重定向到文本的时候为什么会多一些字节出来 查看 5,116 回复 21
16 发表于 2006-06-24 22:36 ·  中国 山西 临汾 中移铁通
元老会员
★★★★
Batchinger
积分 4,432
发帖 1,512
注册 2002-10-18 00:00
23年会员
UID 19
性别 男
状态 离线
Re All:

现在我所找到的避免尾部空格同时保持尾部数字的方法(以13数据为例)是:

1、将重定向符号提到语句之前,如 >a.txt echo %a%

2、在echo 语句前后加表示语句块的圆括号,如 (echo %a%)>a.txt

[ Last edited by willsort on 2006-6-25 at 11:14 ]
※ Batchinger 致 Bat Fans:请访问 批处理编程的异类 ,欢迎交流与共享批处理编程心得!
17 发表于 2006-06-25 08:49 ·  中国 四川 南充 电信
超级版主
★★★★
我爱DOS
积分 5,310
发帖 2,044
注册 2005-09-26 12:00
20年会员
UID 42843
性别 男
来自 四川南充
状态 离线
在执行for /f %%i in (a.txt) do echo %%i >>b.txt时会在每行加%%i和>>b.txt之间的空格符!在%%i和>>b.txt之间有多少的空格符在每行就会加多少空格符!
而for /f %%i in (a.txt) do echo %%i>>b.txt就不会在每行加空格符!
18 发表于 2006-06-25 08:54 ·  中国 四川 南充 电信
超级版主
★★★★
我爱DOS
积分 5,310
发帖 2,044
注册 2005-09-26 12:00
20年会员
UID 42843
性别 男
来自 四川南充
状态 离线
Originally posted by willsort at 2006-6-24 22:36:
Re All:

现在我所找到的避免尾部空格同时保持尾部数字的方法(以13数据为例)是:

1、将重定向符号提到语句之前,如 >a.txt echo %a%

...

如果>a.txt echo %a%后面有空格照样会在尾部空格出现空格!
19 发表于 2006-06-25 11:14 ·  中国 山西 大同 中移铁通
元老会员
★★★★
Batchinger
积分 4,432
发帖 1,512
注册 2002-10-18 00:00
23年会员
UID 19
性别 男
状态 离线
Re qwe1234567:

16楼提到的方案,只是针对3楼和13楼提到变量输出时尾部数字与尾部空格的矛盾而设计的,与楼主的问题并无多少关联。

17楼的方案,实际上在4楼和8楼就已提到了。

18楼的问题,这属于可以避免的代码编写问题,与因为此时的尾部空格没有任何作用。

最后,也可以使用for/f来完成13楼的问题,只是稍微繁琐了一些:
for /f "delims=" %%l in ("%a%") do echo %%l>a.txt
※ Batchinger 致 Bat Fans:请访问 批处理编程的异类 ,欢迎交流与共享批处理编程心得!
20 发表于 2007-03-29 12:29 ·  中国 广东 深圳 福田区 电信
新手上路
积分 7
发帖 5
注册 2007-03-28 00:49
19年会员
UID 83113
性别 男
状态 离线
21 发表于 2008-05-31 13:30 ·  中国 北京 鹏博士BGP
新手上路
积分 9
发帖 5
注册 2008-05-31 13:10
18年会员
UID 120191
性别 男
状态 离线
不错,很好参考的帖子~
22 发表于 2008-06-01 22:14 ·  中国 江苏 苏州 电信
高级用户
★★
五星老土
积分 558
发帖 172
注册 2003-02-09 00:00
23年会员
UID 881
性别 男
来自 江苏
状态 离线
"|" 重定向同样出现这个问题, 比如:

echo %var%|任意命令 有空格,导致命令失败
for %%i in %var%) do echo %%i|任意命令 无空格
我怎么找不到一个比我注册日期早的人? 难道我是传说中的超级管理员? 其实我只是个潜水冠军而已.
论坛跳转: