首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >用于合并文件的批处理脚本,末尾不包含十六进制字符1A

用于合并文件的批处理脚本,末尾不包含十六进制字符1A
EN

Stack Overflow用户
提问于 2012-03-14 18:19:54
回答 5查看 14.8K关注 0票数 22

我正在通过一个简单的批处理脚本合并两个ASCII文件,如下所示

代码语言:javascript
运行
复制
COPY a.txt+b.txt c.txt /y /a

问题是,C中的最后一个字符被设置为1A,即SUB的十六进制表示法。c.txt被输入到另一个与末尾的1A不同的可执行文件中。

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

如何合并a.txtb.txt而不将1A附加到c.txt的末尾?

EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2012-03-14 18:36:20

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

当与目标文件名一起使用时,/a会导致添加文件结束标记(ASCII26)。你实际上是在指定这个!

当与源文件名一起使用时,

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

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

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

/a使ASCII26被添加为最后一个字符。

/b不会将ASCII26添加为最后一个字符。

您的解决方案

...although我还没测试过,可能是要用

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

票数 36
EN

Stack Overflow用户

发布于 2012-03-14 18:33:39

您可以将开关/a (ASCII-Text)更改为/b (二进制)

也可以看看copy /?

因此,得到的命令是

代码语言:javascript
运行
复制
COPY a.txt+b.txt c.txt /y /b
票数 1
EN

Stack Overflow用户

发布于 2014-01-20 11:40:38

copy更改为type

代码语言:javascript
运行
复制
type a.txt>c.txt
type b.txt>>c.txt
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9699976

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档