1

次のように、powershell を使用して curl コマンドを実行しようとしています。

$command=".\curl.exe -k -X POST --data @login.txt -H ""Content-Type:application/json;charset=utf-8"" https://myserversfqdn:4443/ControlPoint/api/v1/login"

$res= Invoke-Expression $command

スプラッティング演算子 @ を使用して式の変数を参照できないというエラーが表示されるので、@login.txt の前にバッククォートを追加します。

$command=".\curl.exe -k -X POST --data '@login.txt -H ""Content-Type:application/json;charset=utf-8"" https://myserversfqdn:4443/ControlPoint/api/v1/login"

$res= Invoke-Expression $command

式にターミネータ ' (バッククォート) がないというエラーが表示されるようになりました。このコマンドで @ 文字を渡す方法がわかりません ?? どんなガイダンスも本当に感謝しています

4

2 に答える 2

5

'バッククォートではなく一重引用符を使用しているように見えます。

`

(通常、バッククォートは ~ 文字と同じキーにあることに注意してください。)

しかし、答えの途中です。引数全体を一重引用符で囲んで、解析されていない文字列として渡すこともできます。

$command=".\curl.exe -k -X POST --data '@login.txt' -H ""Content-Type:application/json;charset=utf-8"" https://myserversfqdn:4443/ControlPoint/api/v1/login"
于 2013-01-23T01:33:53.763 に答える
1

簡単に試しましたか:

.\curl.exe -k -X POST --data `@login.txt -H "Content-Type:application/json;charset=utf-8" https://myserversfqdn:4443/ControlPoint/api/v1/login
于 2013-01-23T02:56:32.310 に答える