如何在批处理脚本中在 curl 中转义管道?

问题描述

我有一个像这样的 Windows 批处理脚本:

@echo off
setlocal EnableDelayedExpansion
SET fruit1=apple
SET fruit2=banana
SET "payload={\"name\":\"value\",\"name\":\"%fruit1%^|%fruit2%\"}"
echo %payload%
curl -X POST -H "Content-Type: application/json" -d "%payload%" "<serverURL>"
endlocal

输出为:

{\"name\":\"value\",\"name\":\"apple|banana\"}
Cannot find the specified path

所以 Curl 没有做任何事情,我猜该错误消息是由于管道引起的,而回显的有效负载显示正确。

如您所见,我已经尝试使用 ^ 转义管道,并设置 EnableDelayedExpansion ,但没有任何效果。

有没有办法将正确的payload传递给curl?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)