为什么此批处理文件会产生额外的,意外的,不需要的字符

时间:2010-10-25 14:04:15

标签: windows file batch-file concatenation

我正在尝试使用以下批处理脚本将一些文件连接在一起:

copy NUL bin\translate.js
for %%f in (source\Libraries\sprintf.js, source\translate-namespace.js, source\util.js, source\translator.js, source\translate.js) do (
    type %%f >> bin\translate.js
    echo. >> bin\translate.js
)

然而,当我这样做时,似乎在每个文件的末尾打印了一个额外的字符。当我以ASCII格式查看文件时,它被解释为以下三个字符: 

为什么会这样?我该怎么做才能解决它?

2 个答案:

答案 0 :(得分:1)

看起来像一个unicode byte order mark。是否可以从没有字节标记存储的文件开始?我不知道任何可以删除标记的命令行命令。

答案 1 :(得分:0)

DOS copy命令的工作方式类似于UNIX cat命令。也就是说,您可以列出多个源文件和一个目标文件,并使用+符号分隔。

copy source\Libraries\sprintf.js+source\translate-namespace.js bin\translate.js