将通配符与DOS COPY命令一起使用会损坏目标文件



我不理解使用通配符时COPY命令的行为。

我在C:Source中有一个名为mpt*.asm的文本文件,我想将其复制到C:Dest。这是从批处理脚本中需要的,我不能确定mpt*.asm的确切名称(例如,它可能是mpt001.asm)。目标名称应该完全是mpt.asm.

如果我使用:

COPY C:Sourcempt*.asm C:Destmpt.asm

文件文件被复制,但在文件末尾附加了一个额外的(0x1A)字符。

如果我使用:

COPY C:Sourcempt*.asm C:Destmpt.asm /B

我不明白这个虚伪的角色。

如果我不使用通配符,我也不会得到伪造的字符。COPY中似乎不太可能存在错误,但这种行为似乎出乎意料。

有没有一种方法可以在不使用/B的情况下完成此复制?

我以前从未见过,但它也为我添加了一个额外的箭头字符。

您可以使用xcopy来解决此问题。

echo f| xcopy C:Sourcempt*.asm C:Destmpt.asm

如果你读copy /?,它会显示

要附加文件,请指定一个文件作为目标,但要指定多个文件用于源(使用通配符或file1+file2+file3格式)。

因此,通过使用单个文件名作为dest,并在源中使用通配符,它可能会将其解释为附加,这可能是额外字符的作用,但由于您没有附加任何内容,因此您可以看到它。

我只是猜测,但这可以解释它。

相关内容

  • 没有找到相关文章

最新更新