6

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

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

如果我使用:

COPY C:\Source\mpt*.asm C:\Dest\mpt.asm

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

如果我使用:

COPY C:\Source\mpt*.asm C:\Dest\mpt.asm /B

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

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

有没有办法在不求助于 using 的情况下进行此复制/B

4

1 回答 1

6

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

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

echo f| xcopy C:\Source\mpt*.asm C:\Dest\mpt.asm

如果你读到copy /?它说

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

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

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

于 2013-02-05T09:51:49.270 回答