将文件中的数据附加到.bat文件中的另一个文件

我有一个.bat文件,从一些以前的命令生成一个文件,我需要添加到这个.bat文件一些dos命令,将该文件的内容追加到另一个文件,源文件和目标文件的名称是固定的两者都是文本文件。

可能会出现这样的情况,源文件不是从.bat命令创build的,所以也许可以在执行append命令之前添加一个检查条件?

我怎样才能做到这一点?

我试图copy target+source target但有时使用这个我find目标文件在线开始一些额外的字符,我不知道为什么。

谢谢

您不能直接复制原始文件的顶部。 另外请确保您使用/B开关复制使用“二进制模式” – 未能做到这一点有以下负面影响:

  1. 出现在其中一个源文件中的任何“文件结束”字符(ASCII码26)将在该点提前截断文件。 文本文件通常不包含此字符,但是二进制文件(例如.EXE文件或.DOC文件)通常可以。
  2. 输出文件的末尾会附加一个“文件结束”字符。

如何做正确的例子:

 copy /B input1 + input2 output move /Y output input1 

move命令将文件output移回到input1顶部; /Y抑制“覆盖?” 提示你否则会看到。

如果您的文本被编码为UTF-8或UTF-16,那么可能的额外字符是BOM(字节顺序标记)?
BOM存在文件开始,长度为3个字节。
它与你的probrem相匹配吗?