[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖
本帖最后由 pcl_test 于 2017-5-5 11:47 编辑
  1. /*&cls
  2. @echo off
  3. dir /a-d/b/s 0.blv|cscript -nologo -e:jscript "%~f0"
  4. pause&exit
  5. */
  6. function ReadText(file, charset){
  7.     var txt="";
  8.     try{
  9.         var stream = new ActiveXObject('ADODB.Stream')
  10.         stream.Type = 2
  11.         stream.Mode = 3
  12.         stream.Charset = charset
  13.         stream.Open()
  14.         stream.LoadFromFile(file)
  15.         stream.Position = 0
  16.         txt = stream.ReadText()
  17.     }catch(Err){}
  18.     stream.Close()
  19.     return txt
  20. }
  21. var fso=new ActiveXObject('Scripting.FileSystemObject');
  22. var blv=WSH.StdIn.ReadAll().split(/[\r\n]+/);
  23. for(var i=0;i<blv.length;i++){
  24.     var json = blv[i].replace(/[^\\]+\\[^\\]+$/,'')+'entry.json';
  25.     if(fso.FileExists(json)){
  26.         var txt=ReadText(json, 'utf-8');
  27.         var m=eval('('+txt+')');
  28.         var newname=m['title']+'_'+m['page_data']['part']+'('+
  29.             m['avid']+'_'+m['page_data']['page']+').flv';
  30.             WSH.echo('ren "'+blv[i]+'" "'+newname+'"');
  31.     }
  32. }}
复制代码
  1. @echo off
  2. for %%a in ("avid":2054259,"page":1,"part":"正片","title":"unity3d教程-[夜黑风高yoo]-第一节-基础",……) do echo;%%a
  3. pause
复制代码

TOP

本帖最后由 pcl_test 于 2017-5-3 10:44 编辑

回复 11# away
1、只对样本1和样本2有效?样本3不是可以解析吗?把无效的json文件打包上传附件看看
  1. @echo off
  2. more +9 "%~f0"|mshta ^
  3.     ^"javascript:var fso=new ActiveXObject('Scripting.FileSystemObject');^
  4.     var txt=fso.GetStandardStream(0).readall();^
  5.     var json=eval('('+txt+')');^
  6.     var out=json['title']+'\r\n'+json['page_data']['part']+'\r\n'+^
  7.         json['avid']+'\r\n'+json['page_data']['page'];^
  8.     fso.GetStandardStream(1).Write(out);close()^"|more
  9. pause&exit
  10. {"is_completed":true,"total_bytes":13861107,"downloaded_bytes":13861107,"title":"Mac软件推荐","type_tag":"lua.hdmp4.bili2api.2","cover":"http:\/\/i0.hdslb.com\/bfs\/archive\/141628374019371b16b0dca8bbdb28a2404a14ce.jpg","prefered_video_quality":200,"guessed_total_bytes":0,"total_time_milli":162912,"danmaku_count":5,"time_update_stamp":1492462494756,"avid":9182057,"spid":0,"seasion_id":0,"page_data":{"cid":15171062,"page":1,"from":"vupload","part":"P1","link":"","rich_vid":"","vid":"vupload_15171062","has_alias":false,"weblink":"","tid":95}}
复制代码
2、你试过的for方法不是我提供的参考方法,这样不是分行了吗?
  1. ::{"is_completed":true,"total_bytes":13861107,"downloaded_bytes":13861107,"title":"Mac软件推荐","type_tag":"lua.hdmp4.bili2api.2","cover":"http:\/\/i0.hdslb.com\/bfs\/archive\/141628374019371b16b0dca8bbdb28a2404a14ce.jpg","prefered_video_quality":200,"guessed_total_bytes":0,"total_time_milli":162912,"danmaku_count":5,"time_update_stamp":1492462494756,"avid":9182057,"spid":0,"seasion_id":0,"page_data":{"cid":15171062,"page":1,"from":"vupload","part":"P1","link":"","rich_vid":"","vid":"vupload_15171062","has_alias":false,"weblink":"","tid":95}}
  2. @echo off
  3. set /p json=<"%~f0"
  4. for %%a in (%json:~3,-1%) do echo;%%a
  5. pause
复制代码

TOP

回复 15# away

乱码是因为编码问题,8楼已改

TOP

返回列表