Windows 将curlpost的输出与IF-ELSE语句一起使用

Windows 将curlpost的输出与IF-ELSE语句一起使用,windows,api,batch-file,if-statement,curl,Windows,Api,Batch File,If Statement,Curl,我想运行一个bat文件来检查curl请求的输出,并在满足条件时相应地执行操作 bat文件中的curl请求如下所示: curl --insecure -X POST https://api.zilliqa.com/ -H "Content-type: application/json" --data "{\"id\":\"1\", \"jsonrpc\":\"2.0\", \"method\":\"GetNumTxBlocks\", \"params\":"[""]"}" 请求的输出如下:{id

我想运行一个bat文件来检查curl请求的输出,并在满足条件时相应地执行操作

bat文件中的curl请求如下所示:

curl --insecure -X POST https://api.zilliqa.com/ -H "Content-type: application/json" --data "{\"id\":\"1\", \"jsonrpc\":\"2.0\", \"method\":\"GetNumTxBlocks\", \"params\":"[""]"}"
请求的输出如下:{id:1,jsonrpc:2.0,结果:5820}

结果是数字的,一直在增长。 作为一个完全的新手,我不知道如何继续。 请给我建议,最好你能提供一个例子以及

我希望IF语句在结果的最后两位数大于95时作出反应。这也可行吗?现在的结果是4位数字,但会增长到5位,然后是6位数字


希望这是可能的。如果没有,请建议可能的解决方案。

AS curl.exe返回类似{id:1,jsonrpc:2.0,result:5965}的json字符串

您可以使用for/f进行分析:

@Echo off
for /f "usebackq tokens=4 delims=:}" %%A in (`
    curl --insecure -X POST https://api.zilliqa.com/ -H "Content-type: application/json" --data "{\"id\":\"1\", \"jsonrpc\":\"2.0\", \"method\":\"GetNumTxBlocks\", \"params\":"[""]"}"
`) do set "result=%%~A"
Echo result=%result%
要计算最后两位数,请将模数除以100,并与if进行比较

Set /A "Last2Digits=result %% 100"
if %Last2Digits% gtr 95 (Echo greater 95) else ( echo less or equal 95)  
或者在PowerShell中执行此操作:

$result = (curl.exe --% --insecure -X POST https://api.zilliqa.com/ -H "Content-type: application/json" --data "{\"id\":\"1\", \"jsonrpc\":\"2.0\", \"method\":\"GetNumTxBlocks\", \"params\":"[""]"}"|ConvertFrom-json).result

我只是想让你明白Stackoverflow不是一个代码请求服务。我们将帮助您使用任何现有代码来解决您的问题。就目前而言,你的问题是离题的。请坐飞机。请阅读。也请阅读谢谢。它不会抛出错误,但结果不是实际的数字,而是:result=resultSorry on copy and paste我错过了一个尾随的percent符号,changed。谢谢你,它像个符咒一样工作。现在我将试着找出剩下的任务。请看更改后的答案。太棒了。谢谢你的课。