标题: [文本处理] 批处理怎样解析uef8文件中的ip地址? [打印本页]
作者: freesoft00 时间: 2021-3-29 15:14 标题: 批处理怎样解析uef8文件中的ip地址?
- {"connections":[{"ID":2469999,"name":"123的网络","type":0,"owner_mbr_id":1049243,"members":[{"sn":"38542300:001","ID":1049020,"name":"ON11","type":"0","ip":"172.16.1.189","lan_ip":"","lan_mask":"","mac":"00-25-BC-01-22-11","dev_type":"1","is_online":1,"is_owner":0,"nat_type":4,"delay":17,"connect_type":"p2p","p2p_recv_speed":0,"p2p_send_speed":0,"p2p_recv":56132,"p2p_send":87450,"trans_recv_speed":42,"trans_send_speed":0,"trans_recv":84,"trans_send":0},{"sn":"38542300:002","ID":1049243,"name":"JD11","type":"0","ip":"172.16.2.156","lan_ip":"","lan_mask":"","mac":"00-25-9B-02-22-11","dev_type":"1","is_online":1,"is_owner":1,"nat_type":4,"delay":4294967295,"connect_type":"tcp forward","p2p_recv_speed":0,"p2p_send_speed":0,"p2p_recv":0,"p2p_send":0,"trans_recv_speed":0,"trans_send_speed":0,"trans_recv":0,"trans_send":0}]}
- ]}
复制代码
test.txt文本内容,格式uef8,想解析出来ip地址,写入到注册表中,替换红色内容。使用第三方软件也可以。
[HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\test]
"ServerName"="192.168.100.254"
第一个ip地址172.16.1.189对应的sn":"38542300:001还有"name":"ON11"是固定的,ip地址不固定。所以想解析出来写入到注册表中。第二个ip地址172.16.2.156不用管
样例文件没有传上来,上传不成功,内容就是上面的,没有换行,一行内容
样本文件传到了百度
链接: https://pan.baidu.com/s/1ksKxFGosKXkITiRGcGGmjg 提取码: kwh2 复制这段内容后打开百度网盘手机App,操作更方便哦
作者: Batcher 时间: 2021-3-29 15:42
回复 1# freesoft00
文件压缩之后也是无法上传吗?
作者: freesoft00 时间: 2021-3-29 16:30
回复 2# Batcher
不能,上传0个成功,1个失败。
文件很小,不压缩显示的才1.kb
作者: went 时间: 2021-3-29 20:57
- @echo off & cd /d "%~dp0"
- %1 start "" mshta vbscript:createobject("shell.application").shellexecute("""%~0""","REM",,"runas",1)(window.close)&exit
- set "file=F:\Desktop\status"
- set "code=powershell -c "(Get-Content -Encoding UTF8 -Path '%file%' ^| ConvertFrom-Json).connections[0].members[0].ip""
- for /f "delims=" %%i in ('%code%') do (
- echo %%i
- reg add "HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\test" /v "ServerName" /t "REG_SZ" /d "%%i" /f
- )
- pause&exit
复制代码
作者: WHY 时间: 2021-3-29 22:01
test.bat,右键选择 "以管理员身份运行"- @if(0)==(0) echo off
- REM 待处理的 json 文件名
- set "srcFile=test.txt"
- pushd "%~dp0"
- for /f "delims=" %%i in ('cscript //nologo //e:jscript "%~f0" "%srcFile%"') do (
- reg add "HKLM\SOFTWARE\Wow6432Node\test" /v "ServerName" /d "%%i" /f
- )
- pause & exit
- @end
-
- var json = eval( '(' + getText( WSH.Arguments(0) ) + ')' );
- var p = json.connections[0].members;
- for(var i=0; i<p.length; i++){
- //sn=38542300:001 且 name=ON11 则回显对应的IP
- if( p[i].sn == '38542300:001' && p[i].name == 'ON11' ) WSH.Echo(p[i].ip);
- }
-
- function getText(file){
- var ado = new ActiveXObject('Adodb.Stream');
- ado.Mode = 3;
- ado.Type = 2;
- ado.Charset = 'utf-8';
- ado.Open();
- ado.LoadFromFile(file);
- return ado.ReadText(-1);
- }
复制代码
作者: freesoft00 时间: 2021-3-30 09:04
回复 5# WHY
成功
作者: freesoft00 时间: 2021-3-30 09:05
回复 4# went
win7系统,可能是我系统环境的问题,提示ps什么什么错误。
欢迎光临 批处理之家 (http://www.bathome.net/) |
Powered by Discuz! 7.2 |