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 bashanderer * 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.exein 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 curlausführbare Datei, oder zumindest angeben curl.exe; curlan sich ist es ein Powershell-Alias für das Invoke-WebRequestCmdlet, 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.cmdpowershell -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 bashund 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.