Board logo

标题: [文本处理] [已解决]批处理如何合并两个文本的内容? [打印本页]

作者: smith203    时间: 2011-3-23 10:17     标题: [已解决]批处理如何合并两个文本的内容?

a.txt有两行文字
sdfds
dfsdf

b.txt也有两行文字
1556
15454
请问如何把a的内容加到b里面去?
结果是:
1556
15454
sdfds
dfsdf

谢谢了。
作者: smith203    时间: 2011-3-23 10:18

for /f %%a in (a.txt) do copy %%a >>b.txt

我用上面的代码不行啊, 请问要怎么改?
作者: tublewed    时间: 2011-3-23 10:40

type a.txt >>c.txt
type b.txt >>c.txt
作者: smith203    时间: 2011-3-23 10:49

谢谢, 不过没有完全解决, 有点小问题,中间合并了一行
结果是:
sdfds
dfsdf1556
15454

我要的是
sdfds
dfsdf
1556
15454
作者: tublewed    时间: 2011-3-23 11:28

type a.txt \n >>c.txt
type b.txt >>c.txt
作者: terse    时间: 2011-3-23 11:57

直接 COPY ..............
作者: smith203    时间: 2011-3-23 12:01

type a.txt \n >>c.txt
type b.txt >>c.txt
tublewed 发表于 2011-3-23 11:28


这个还是不对, 请再核对一下, 谢谢。
作者: hanyeguxing    时间: 2011-3-23 12:21

方法1:要求每个文本最后一行结尾必须有换行。
  1. copy /b a.txt+b.txt c.txt
复制代码
方法2:强制创建换行。
  1. >$ echo;
  2. copy /b a.txt+$+b.txt c.txt
  3. del $
复制代码

作者: tublewed    时间: 2011-3-23 12:25

试试这个:
  1. type b.txt  >>c.txt
  2. echo.  >>c.txt
  3. type a.txt >>c.txt
复制代码
很奇怪,把ab的内容对调
  1. type a.txt \n >>c.txt
  2. type b.txt >>c.txt
复制代码
是可以的
作者: wc726842270    时间: 2011-3-23 12:52

2# smith203
  1. @echo off
  2. set a=^^^
  3. echo.%a% >>b.txt
  4. for /f "delims=" %%i in (a.txt) do echo=%%i >>b.txt
复制代码
是回车符或换行符的原因。b.txt不是以回车结尾
作者: wc726842270    时间: 2011-3-23 13:00

上火。其实直接一个echo.就可以得到回车符了
作者: smith203    时间: 2011-3-23 14:01

方法2:强制创建换行。>$ echo;
copy /b a.txt+$+b.txt c.txt
del $
hanyeguxing 发表于 2011-3-23 12:21


这个方法不错, 谢谢。

另外我也找到一个办法, 用type, 不过预先把b.txt最前面空一行, 这样就不会合并了, 呵呵。
作者: smith203    时间: 2011-3-23 14:12

问题解决了, 不过各位大老的代码我看的还是很吃力啊。

用$真怪。
作者: wc726842270    时间: 2011-3-23 18:35

“$”里所保存的就是回车符




欢迎光临 批处理之家 (http://www.bathome.net/) Powered by Discuz! 7.2