使用dos“copy”func组合两个文件

时间:2013-04-05 15:43:06

标签: merge copy dos

我想使用复制功能将两个文本文件合并为一个

1st txt

Results = 

2nd txt

Fine

所以我试图像这样复制它:

copy 1.txt + 2.txt

copy /A 1.txt + 2.txt

copy /B 1.txt + 2.txt

但结果总是一样的:

Results = 
Fine

我已经用HEX检查了这个文件,并且beetwen总是添加0x0D 0x0A

但我需要这种格式:

Results = Fine

任何想法如何做到这一点?

2 个答案:

答案 0 :(得分:0)

如果两个文本文件中的每一个都只有一行,那么你可以用这个来实现你想要的:

for /f "delims=" %%i in (1.txt) do set line1=%%i
for /f "delims=" %%i in (2.txt) do set line2=%%i
echo %line1%%line2%>3.txt

copy /b命令应该有效,但1.txt文件在Result =之后必须有0x0D 0x0A。所以它被传输到新文件。使用上面的命令将忽略每个文件末尾的0x0D 0x0A,并将最后一行的文本与两个文件中的文本组合在一起。这就是为什么两个文件只应包含一个文本行...

的原因

答案 1 :(得分:0)

@Jamel L.谢谢你的作品,魅力:)

@echo off
echo ContentID = > package.conf
for /f "delims=" %%i in (package.conf) do set line1=%%i
for /f "delims=" %%i in (CID.txt) do set line2=%%i
echo %line1%%line2%>package.conf
echo Klicensee = 0x2A6AFBCF43D1579F7D738741A13BD42E>> package.conf
echo DRMType = Free>> package.conf
echo ContentType = minis>> package.conf
echo PackageVersion = 01.00>> package.conf

输出文件:

ContentID = UP4306-NPUZ00210_00-MADBLOCKERALPHA1
Klicensee = 0x2A6AFBCF43D1579F7D738741A13BD42E
DRMType = Free
ContentType = minis
PackageVersion = 01.00

在eof上使用新行,但它可以在那里:)