找回密码
 注册
搜索
[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
查看: 15151|回复: 5

[文本处理] 求用 json 返回值 BAT 如何解释切割出版定义字段进行调用

[复制链接]
发表于 2022-1-4 00:06:53 | 显示全部楼层 |阅读模式
本帖最后由 hellohgh 于 2022-1-4 18:28 编辑

来源网址:http://api.ip138.com/ip/?ip=&datatype=jsonp&token=12f911dede85b244e702cb5f59575201
ip138.vbs
用vbs命令保存网页内容:
  1. ' 要下载的文件
  2. strFileURL = "http://api.ip138.com/ip/?ip=&datatype=jsonp&token=12f911dede85b244e702cb5f59575201"
  3. ' 文件存放路径
  4. strHDLocation = "c:\ip.txt"

  5. Set objXMLHTTP = CreateObject("MSXML2.XMLHTTP")

  6. objXMLHTTP.open "GET", strFileURL, false
  7. objXMLHTTP.send()

  8. If objXMLHTTP.Status = 200 Then
  9.     Set objADOStream = CreateObject("ADODB.Stream")
  10.     objADOStream.Open
  11.     objADOStream.Type = 1

  12.     objADOStream.Write objXMLHTTP.ResponseBody
  13.     objADOStream.Position = 0

  14.     Set objFSO = Createobject("Scripting.FileSystemObject")
  15.     If objFSO.Fileexists(strHDLocation) Then objFSO.DeleteFile strHDLocation
  16.     Set objFSO = Nothing

  17.     objADOStream.SaveToFile strHDLocation
  18.     objADOStream.Close
  19.     Set objADOStream = Nothing
  20. End if

  21. Set objXMLHTTP = Nothing
复制代码
保存文件"c:\ip.txt"的内容为:
  1. {"ret":"ok","ip":"113.94.52.188","data":["中国","广东","茂名","化州市","电信","525100","0668"]}
复制代码
用BAT 如何解释切割出版定义字段进行调用?

我要将各个字段都定制并设为变量,要调用的。非常感谢“for_flr”帮助,已经成功调用到IP了。

  1. @echo off
  2. for /f "tokens=4 delims=:," %%a in (C:\ID\ip.txt) do set ip=%%~a
  3. echo 外网IP:%ip%
  4. pause
复制代码
最好有不用下载保存文丁,直接调用的方法。。。。新手脑瓜痛。。。新手脑瓜痛。。。新手脑瓜痛。。。
发表于 2022-1-4 09:34:26 | 显示全部楼层
用powershell
  1. $json='{"ret":"ok","ip":"113.94.52.188","data":["中国","广东","茂名","化州市","电信","525100","0668"]}'
  2. ($json|convertfrom-json).ip
复制代码
发表于 2022-1-4 09:54:17 | 显示全部楼层
用批处理
  1. @echo off
  2. set var={"ret":"ok","ip":"113.94.52.188","data":["中国","广东","茂名","化州市","电信","525100","0668"]}
  3. for /f "tokens=4 delims=:," %%a in ("%var%") do echo;%%~a
复制代码
 楼主| 发表于 2022-1-4 14:31:30 | 显示全部楼层
回复 3# for_flr


   
成功了。非常感谢。。但还有个疑问。如何将这个IP定义变量?我要调用这个IP值。。新手问题多,还请赐教。谢谢。
 楼主| 发表于 2022-1-4 14:31:52 | 显示全部楼层
回复 2# for_flr


    感谢。
发表于 2022-1-5 08:01:22 | 显示全部楼层
3楼最后的的echo;%%~a改为set ip=%%~a
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|批处理之家 ( 渝ICP备10000708号 )

GMT+8, 2026-3-20 15:07 , Processed in 0.010418 second(s), 8 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表