批处理脚本在最后合并没有Hex char 1A的文件

xbo*_*nez 21 batch-file

我正在通过像这样的简单批处理脚本合并两个ASCII文件

COPY a.txt+b.txt c.txt /y /a
Run Code Online (Sandbox Code Playgroud)

问题是,C中的最后一个字符被设置为1A,HEX表示法SUB.c.txt被送入另一个不喜欢1A最后的可执行文件.

生成c.txt后,如果我在Notepad ++中打开它并删除最后一个字符,该文件工作正常.

我怎么能合并a.txtb.txt没有1A附加到结尾c.txt

And*_*ach 31

放置/a/b切换是至关重要的.它们的执行方式不同,具体取决于它们是放在源文件名还是目标文件名之后.

与目标文件名一起使用时,/a会添加文件结束标记(ASCII 26).你实际上指的是这个!

与源文件名一起使用时,

/a指定文件是ASCII并且它被复制到但不包括第一个ASCII 26文件结束标记.该字符及其后的任何内容都将被忽略.

/b 导致整个文件被复制,包括任何文件结束标记及其后的任何内容.

与目标文件名一起使用时,

/a 导致ASCII 26被添加为最后一个字符.

/b 不会将ASCII 26添加为最后一个字符.

你的解决方案

...虽然我还没有测试过,但可能会使用

COPY a.txt+b.txt /a c.txt /b /y

  • 通过`COPY/b a.txt + b.txt c.txt/y`来实现它.谢谢你指点我正确的方向 (4认同)