Warum ist die Syntax dieses Kopierbefehls falsch?

3

In Windows 10 der folgende Befehl:

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

verursacht den Fehler:

Die Syntax des Befehls ist falsch.

Das Einfügen des letzten Parameters in Anführungszeichen löst das Problem. Dies ist jedoch nicht möglich, da dieser Befehl automatisch generiert wird und ich nicht weiß, wie ich ihn ändern soll (Teil der Qt Android Build Toolchain).

Ich könnte den Speicherort des Projekts ändern, wenn es hilft, aber ich weiß überhaupt nicht, was die Probleme verursacht, da es zumindest aufgrund dieses Handbuchs keine Leerzeichen oder Sonderzeichen gibt ( http: / /www.robvanderwoude.com/escapechars.php )

Adam Streck
quelle
Möglicherweise hängt es mit der ++in Ihrer Verzeichnisstruktur zusammen ...?
Kinnectus
Bei korrekter Annahme wurde das Problem behoben, indem das Projekt so verschoben wurde, dass der Ordner "C ++" weggelassen wurde. Irgendeine Idee, warum das so ist? Soweit ich wusste, sollte "+" keine besondere Bedeutung haben.
Adam Streck
Ein einzelnes kann +es nicht sein, ein doppeltes, aber ich weiß es nicht :) Es kann eine Art Verkettung oder mehrere Speicherorte annehmen (die "Quelle" für copydas +Kopieren mehrerer Dateien) ...
Kinnectus

Antworten:

0

Soweit ich weiß, +sollte das keine besondere Bedeutung haben

+hat eine besondere Bedeutung für copy. Es gibt an, dass Dateien im Rahmen des Kopiervorgangs kombiniert werden sollten.

Geben Sie zum Kombinieren von Dateien eine einzelne Datei als Ziel an, aber mehrere Dateien als Quelle. Um mehr als eine Datei anzugeben, verwenden Sie Platzhalter oder listen Sie die Dateien mit einem +dazwischen stehenden ( file1+file2+file3) auf.

  • Das +sollte wahrscheinlich nur als Kombinationsoperator erkannt werden, wenn es sich am Anfang eines Dateinamens befindet, sodass Ihr besonderer Fall möglicherweise ein Fehler in der Befehlszeilenverarbeitung für ist copy.

Syntax

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

COPY source1 + source2.. destination [options]

...

Dateien kombinieren

Geben Sie zum Kombinieren von Dateien eine einzelne Datei als Ziel an, aber mehrere Dateien als Quelle. Um mehr als eine Datei anzugeben, verwenden Sie Platzhalter oder listen Sie die Dateien mit einem + dazwischen auf (Datei1 + Datei2 + Datei3).

Wenn Sie mehrere Dateien auf diese Weise kopieren, muss die erste Datei vorhanden sein. Andernfalls schlägt die Kopie fehl. Eine Problemumgehung hierfür lautet COPY null + file1 + file2 dest1

Quelle - Kopie


Weitere Lektüre

DavidPostill
quelle