中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --
联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟
中国DOS联盟论坛
现在时间是 2026-09-15 13:20
47,812 主题排行 / 349,917 发帖 / 今日 0 篇 / 48,268 会员排行
DOS批处理 & 脚本技术(批处理室) » echo重定向到文本的时候为什么会多一些字节出来
可打印版本  5,729 / 21
第16楼 willsort 发表于 2006-06-24 22:36
元老会员 发帖 1,512 积分 4,432
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 ]
第17楼 不得不爱 发表于 2006-06-25 08:49
超级版主 发帖 2,044 积分 5,310 来自 四川南充
在执行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
超级版主 发帖 2,044 积分 5,310 来自 四川南充
Originally posted by willsort at 2006-6-24 22:36:
Re All:

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

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

...

如果>a.txt echo %a%后面有空格照样会在尾部空格出现空格!
第19楼 willsort 发表于 2006-06-25 11:14
元老会员 发帖 1,512 积分 4,432
Re qwe1234567:

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

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

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

最后,也可以使用for/f来完成13楼的问题,只是稍微繁琐了一些:
for /f "delims=" %%l in ("%a%") do echo %%l>a.txt
第20楼 kingxgzadc 发表于 2007-03-29 12:29
新手上路 发帖 5 积分 7
第21楼 xyzaids 发表于 2008-05-31 13:30
新手上路 发帖 5 积分 9
不错,很好参考的帖子~
第22楼 quya 发表于 2008-06-01 22:14
高级用户 发帖 172 积分 558 来自 江苏
"|" 重定向同样出现这个问题, 比如:

echo %var%|任意命令 有空格,导致命令失败
for %%i in %var%) do echo %%i|任意命令 无空格
上一页  1 2
[ 联系联盟系统管理团队 - 中国DOS联盟 - 标准版 ]
Sponsored by ifanr Inc | © 2001–2023