为什么这个复制命令的语法不正确?

为什么这个复制命令的语法不正确?

在 Windows 10 中以下命令:

copy /y libPitchExtraction.so C:\Users\adams_000\CODE\C++\PitchExtraction\android-armv7\android-build\libs\armeabi-v7a\libPitchExtraction.so

导致错误:

该命令的语法不正确。

将最后一个参数放在引号中可以解决问题,但是我无法这样做,因为这个命令是自动生成的,我不知道如何更改它(Qt Android 构建工具链的一部分)。

如果有帮助的话,我可以更改项目的位置,但我不知道是什么导致了这个问题,因为没有空格或特殊字符,至少由于本指南(http://www.robvanderwoude.com/escapechars.php

答案1

据我所知,+应该没有什么特殊含义

+对于 来说,它具有特殊含义copy。它表示文件应该作为复制过程的一部分进行合并。

要合并文件,请指定单个文件作为目标,但指定多个文件作为源。要指定多个文件,请使用通配符或+在每个文件之间使用 ( file1+file2+file3)列出文件

  • 可能+仅当它位于文件名开头时才被识别为组合运算符,因此您的特殊情况可能是命令行处理中的错误copy

句法

COPY [options] [/A|/B] source [/A|/B] [+ source2 [/A|/B]...] [destination [/A|/B]]

COPY source1 + source2.. destination [options]

...

合并文件

要合并文件,请指定单个文件作为目标,但指定多个文件作为源。要指定多个文件,请使用通配符或列出文件,每个文件之间使用 + 号 (file1+file2+file3)。

以这种方式复制多个文件时,第一个文件必须存在,否则复制将失败,解决方法是 COPY null + file1 + file2 dest1

来源 -复制


进一步阅读

相关内容