Windows curl批处理文件

Gan*_*vel 1 windows shell curl batch-file mailgun

我想使用Windows批处理文件进行mailgun curl调用。由于Windows Shell不支持多行,如何在Windows批处理文件中执行以下curl函数?

curl -s --user 'api:key-xxxxxxxxxx' \
    https://api.mailgun.net/v3/sandboxbxxxxxxxxxxxxx.mailgun.org/messages \
    -F from='user <email@gmail.com>' \
    -F to='user <email@live.com>' \
    -F subject='Hello' \
    -F text='body!' \
    -F attachment=@test.txt \
Run Code Online (Sandbox Code Playgroud)

更新资料

当我在删除多行后尝试执行命令时,它返回此错误:

    curl -s --user 'api:key-xxxxxxxxxx' https://api.mailgun.net/v3/sandboxbxxxxxxxxxxxxx.mailgun.org/messages -F from='user  -F to='user  -F subject='Hello' -F text='body!' -F attachment=@test.txt 0<email@live.com 1>'
The system cannot find the file specified.
Run Code Online (Sandbox Code Playgroud)

PS:附件文件在同一目录中

谢谢!

Sac*_*Dee 5

只需放在一行上,然后将<>重定向char 放在其中,"或使用^以下命令将其转义:

curl -s --user 'api:key-xxxxxxxxxx' https://api.mailgun.net/v3/sandboxbxxxxxxxxxxxxx.mailgun.org/messages -F from="user <email@gmail.com>" -F to="user <email@live.com>" -F subject='Hello' -F text='body!' -F attachment=@test.txt
Run Code Online (Sandbox Code Playgroud)

您还可以为每个元素创建变量:

set "$ApiKey=api:key-xxxxxxxxxx"
set "$Url=https://api.mailgun.net/v3/sandboxbxxxxxxxxxxxxx.mailgun.org/messages"
set "$From=email@gmail.com"
....

and then 

curl -s --user '%$ApiKey%' %$Url% -F from="user <%$From%>" -F to= ....
Run Code Online (Sandbox Code Playgroud)

  • `简单地在一行上,将 &lt;&gt; 重定向字符放在 " 之间或用 ^` 转义它我仍然不知道如何去做。如果你能帮助我,那将非常有帮助。谢谢 (2认同)
  • 像这样:`-F from =“ user &lt;email@gmail.com &gt;&gt;``或像这样:`-F from ='user ^ &lt;email@gmail.com ^&gt;'` (2认同)