2011-02-28 94 views
1

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

有可能在源文件是从命令的蝙蝠没有建立,所以也许这是可能的执行追加命令之前在这种情况下添加一个检查的情况?

我怎样才能做到这一点?

我试图copy target+source target但有时使用这个我觉得与线启动一些额外的字符的目标文件,我不知道为什么。

感谢

回答

1

不能在原始文件(S)的顶部直接复制。另外,还要确保您使用/B开关COPY使用“二进制模式”复制 - 如果不这样做有以下不良后果:

  1. 任何“档案结尾”字符(ASCII代码26)出现在其中一个源文件中会过早地截断该文件。文本文件通常不包含此字符,但二进制文件(例如.EXE文件或.DOC文件)通常包含此字符。
  2. “文件结束”字符将被附加到输出文件的末尾。

如何这样做的权利示例:

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

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

0

如果您的文本是UTF-8编码或UTF-16,也许多余的字符是BOM(字节顺序标记)?
BOM存在文件开始并且有3个字节长度。
它与您的probrem相匹配吗?

+0

不,他们没有编码为UTF-8或UTF-16,我觉得这些额外的字符来自于事实证明我是复制的原始文件,j_random_hacker说。 – res1 2011-02-28 12:39:55