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

[文件操作] 用bat替换josn文件

[复制链接]
发表于 2022-6-19 04:50:03 | 显示全部楼层 |阅读模式
现有文件如下settings.json
    {
      "Type": "Socks5",
      "Password": "",
      "Username": "",
      "RemoteHostname": "",
      "Group": "NONE",
      "Hostname": "192.168.79.68",
      "Port": 18888,
      "Rate": 1,
      "Remark": "11"
    },
想把 "Group": "NONE"下面这行"Hostname":替换成一个变量Gateway
然后这个变量是
  1. for /f "tokens=3,4" %%a in ('route print^|find "0.0.0.0          0.0.0.0"') do (if not defined ip set "Gateway=%%a" & set "ip=%%b")
复制代码
发表于 2022-6-19 08:52:30 | 显示全部楼层
  1. sed -i "s/Hostname/Gateway/g" settings.json
复制代码
如果只有一个需要改,或全部关键词都改。上面的可以用
http://bcn.bathome.net/s/tool/index.html?key=sed
 楼主| 发表于 2022-6-19 18:56:15 | 显示全部楼层
回复 2# hlzj88


    我是想
  1. for /f "tokens=3,4" %%a in ('route print^|find "0.0.0.0          0.0.0.0"') do (if not defined ip set "Gateway=%%a" & set "ip=%%b"
复制代码
用这串获取到Gateway的ip在替换 Hostname这行的ip
发表于 2022-6-19 20:36:28 | 显示全部楼层
  1. sed -i -E -e "s/(""Hostname""\s*:\s*"")([^""]*)/\1%Gateway%/g" .\settings.json
复制代码
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-3-19 20:50 , Processed in 0.018491 second(s), 8 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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