You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用Windows批处理脚本提取JSON文件中的IP列表

用Windows批处理提取JSON文件中的IP列表

针对你提供的demo.json文件,这里提供两种可行的批处理方案来提取IP列表:

方案1:原生批处理(无需外部工具)

原生批处理通过字符串匹配和截取来提取IP,适合结构固定的JSON文件。创建一个extract_ip.bat脚本,内容如下:

@echo off
setlocal enabledelayedexpansion

:: 遍历文件中包含"ip":"的行
for /f tokens^=2^ delims^=^" %%i in ('findstr /r "\"ip\":\"[0-9\.]*\"" demo.json') do (
    echo %%i
    :: 如果需要保存到文件,替换上面的echo为:echo %%i >> ip_list.txt
)

endlocal

说明:

  • findstr /r "\"ip\":\"[0-9\.]*\"" 用于匹配所有包含"ip":"xxx.xxx.xxx.xxx"格式的行
  • tokens^=2^ delims^=^" 指定以双引号为分隔符,取第2个部分(即IP地址)
  • 若要将结果保存到文件,把echo %%i改成echo %%i >> ip_list.txt即可

方案2:批处理调用PowerShell(更可靠,支持复杂JSON)

PowerShell对JSON的解析更专业,适合结构可能变化的JSON文件。脚本内容如下:

@echo off
:: 调用PowerShell解析JSON并提取IP,输出到控制台
powershell -Command "$json = Get-Content 'demo.json' -Raw | ConvertFrom-Json; $json.data | ForEach-Object { $_.ip }"

:: 如果需要保存到文件,使用以下命令替换上面的行:
:: powershell -Command "$json = Get-Content 'demo.json' -Raw | ConvertFrom-Json; $json.data | ForEach-Object { $_.ip } | Out-File 'ip_list.txt' -Encoding utf8"

说明:

  • Get-Content 'demo.json' -Raw 读取整个JSON文件为字符串
  • ConvertFrom-Json 将字符串转为PowerShell可操作的对象
  • $json.data | ForEach-Object { $_.ip } 遍历data数组中的每个对象,提取ip属性值
  • 保存文件时用Out-File指定路径,-Encoding utf8确保编码正确

内容的提问来源于stack exchange,提问作者aqiao

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.21 07:22:37