[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

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

现有文件如下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")
复制代码

  1. sed -i -E -e "s/(""Hostname""\s*:\s*"")([^""]*)/\1%Gateway%/g" .\settings.json
复制代码
微信:flashercs
QQ:49908356

TOP

回复 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

TOP

  1. sed -i "s/Hostname/Gateway/g" settings.json
复制代码
如果只有一个需要改,或全部关键词都改。上面的可以用
http://bcn.bathome.net/s/tool/index.html?key=sed
目的,学习批处理

TOP

返回列表