使用通配符时,我不明白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
似乎不太可能存在错误,但这种行为似乎出乎意料。
有没有办法在不诉诸/B
的情况下执行此副本?
答案 0 :(得分:6)
我之前从未见过,但它确实为我添加了额外的箭头字符。
您可以使用xcopy
来解决此问题。
echo f| xcopy C:\Source\mpt*.asm C:\Dest\mpt.asm
如果您阅读copy /?
,则说明
要附加文件,请为目标指定单个文件,但指定多个文件 for source(使用通配符或file1 + file2 + file3格式)。
因此,通过使用单个文件名作为dest,并在源中使用通配符,它可以将其解释为附加,这可能是额外字符的用途,但是因为您没有附加任何您可以看到的内容它
我只是猜测,但这可以解释它。