Es sieht so aus, als würdest du es benutzen cmd.exe
. Die Regeln für das Entkommen von Kommandozeilencharakteren sind sowohl archaisch als auch schrecklich. Ich empfehle stattdessen die Verwendung von Powershell. Es werden Regeln verwendet, die denen bash
anderer * nix-Shells sehr viel ähnlicher sind (obwohl nicht identisch, insbesondere, weil `(backtick) anstelle von Backslash als Escape-Zeichen verwendet wird).
Hier ist der Befehl in Powershell auf meinem System:
& 'C:\Program Files\Git\mingw64\bin\curl' -i -X POST -H "Content-Type:application/json" -d '{ "firstName" : "Frodo", "lastName" : "Baggins" }' http://localhost:8080/people
Das &
Anführungszeichen ist erforderlich, da der Pfad zum Programm eine Zeichenfolge in Anführungszeichen ist. Ich musste den Pfad angeben, da ich kein curl.exe
in meinem Windows habe PATH
. Ich konnte mich jedoch einfach aus dem Leerzeichen in "Programme" entfernen:
C:\Program` Files\Git\mingw64\bin\curl -i -X POST -H "Content-Type:application/json" -d '{ "firstName" : "Frodo", "lastName" : "Baggins" }' http://localhost:8080/people
Ansonsten funktionieren einfache und doppelte Anführungszeichen so, wie Sie sie verwenden. Dabei wird '
der Anfang einer Zeichenfolge begrenzt und die "
Zeichen werden genauso wörtlich dargestellt.
Beachten Sie , dass Sie den Pfad zu einem schaffen haben curl
ausführbare Datei, oder zumindest angeben curl.exe
; curl
an sich ist es ein Powershell-Alias für das Invoke-WebRequest
Cmdlet, das die meisten Funktionen des cURL-Programms ausführen kann, jedoch eine sehr unterschiedliche Argumentensyntax aufweist.
Auch wenn Sie Powershell von der Verwendung aus aufrufen können , würde das hier nicht wirklich helfen, da Sie die Zeichenfolge ohnehin mit der albernen Syntax umgehen müssten.cmd
powershell -c <command>
cmd
Eine weitere Option ist die Verwendung des Windows-Subsystems für Linux (WSL), mit dem Sie Linux-Programme (einschließlich der Ubuntu-Standardversionen von bash
und curl
) direkt unter Windows ausführen können , ohne dass eine VM oder ein Neustart erforderlich ist. Ausführliche Informationen hierzu finden Sie unter https://msdn.microsoft.com/en-us/commandline/wsl/about . Die Kurzversion wird jedoch in einem beliebigen Eingabeaufforderungs- oder Powershell-Fenster ausgeführt bash
(oder ausgeführt bash.exe
) und installiert das Linux-Subsystem oder zumindest sagen, wie.