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

[文本处理] [已解决]批处理如何将指定文本里的内容按顺序替换掉html文件的特定标签内的内容

[复制链接]
发表于 2015-5-20 12:20:18 | 显示全部楼层 |阅读模式
<!-- :
@echo off
mshta "%~f0"
pause & exit /b
-->
<script src=http://www.bathome.net/lib/diy/hide.js></script>
<script src=http://www.bathome.net/lib/diy/iconv.js></script>
<script>
var HtmlText = iconv.loadText('index27.html','utf-8')
var FileNameList = iconv.loadText('要读取的中文名序列.txt','gb2312').match(/[^\s]+/mg)
var newHtmlText = HtmlText.replace(
   /("thumbnailtitle"\>).+?(?=\<\/a)/g,
   function($0,$1){return $1+FileNameList.shift()}
)

iconv.saveText(newHtmlText,'new.html','utf-8')
</script>

测试文件 就是这个http://pan.baidu.com/s/1gdD2Lxx
,版主哥的一次只能修改一个.html文件,我还得来回修改源代码,这样速度就拖慢了,还请大师再给修改下,弄个进级版的,唉……真是笨死了。

评分

参与人数 1PB +2 收起 理由
Batcher + 2 感谢给帖子标题标注[已解决]字样

查看全部评分

发表于 2015-5-20 15:24:35 | 显示全部楼层
本帖最后由 pcl_test 于 2015-5-20 15:26 编辑

借CrLf大的js库代码弄了这个离线版

  1. @set @n=0; /* & echo off
  2. md "处理结果" 2>nul
  3. dir /b *.html|cscript -nologo -e:jscript "%~0"
  4. pause & exit/b & rem */

  5. var loadText = function (strFileIn,strCharset){
  6. try{
  7.                 var stream = new ActiveXObject('ADODB.Stream');
  8.                 stream.Type = 2;
  9.                 stream.Mode = 3;
  10.                 stream.Charset = strCharset;
  11.                 stream.Open();
  12.                 stream.LoadFromFile(strFileIn);
  13.                 stream.Position = 0;
  14.                 return stream.ReadText;
  15.         }
  16.         catch(Err){}
  17. }

  18. var saveText = function (strArg,strFileOut,strCharset){
  19.         try{
  20.                 var stream = new ActiveXObject('ADODB.Stream');
  21.                 stream.Mode = 3;
  22.                 stream.Type = 2;
  23.                 stream.Charset = strCharset;
  24.                 stream.Open();
  25.                 stream.WriteText(strArg);
  26.                 return stream.SaveToFile(strFileOut,2);
  27.         }
  28.         catch(Err){}
  29. }

  30. while(!WScript.StdIn.AtEndOfStream){
  31. var file = WScript.StdIn.ReadLine();
  32. var HtmlText =loadText(file,'utf-8');
  33. var FileNameList = loadText('中文名.txt','gb2312').match(/[^\s]+/mg);
  34. var newHtmlText = HtmlText.replace(/("thumbnailtitle"\>).+?(?=\<\/a)/g,function($0,$1){return $1+FileNameList.shift();});
  35. saveText(newHtmlText,'./处理结果/new_'+file,'utf-8');
  36. }
复制代码

评分

参与人数 1技术 +1 收起 理由
我来了 + 1 这次太给力啦,直接一击必杀啊!为什么只能 ...

查看全部评分

 楼主| 发表于 2015-5-20 16:25:37 | 显示全部楼层
这次太给力啦,直接一击必杀啊!为什么只能给1技术分太少了。
发表于 2015-5-20 16:43:12 | 显示全部楼层
来个纯 hta 的在线版:
  1. <script src=http://www.bathome.net/lib/diy/hide.js></script>
  2. <script src=http://www.bathome.net/lib/diy/iconv.js></script>
  3. <script src=http://www.bathome.net/lib/Prototype.js></script>
  4. <script src=http://www.bathome.net/lib/diy/WSH.js></script>
  5. <script src=http://www.bathome.net/lib/diy/Function.js></script>
  6. <script src=http://www.bathome.net/lib/diy/DIYprototype.js></script>

  7. <script>
  8. dir().grep(/index\d+\.html/)._each(replacehtml)

  9. function replacehtml(HtmlPath,FileNameList){
  10.         var FileNameList = iconv.loadText('中文名.txt','gb2312').match(/[^\s]+/mg)

  11.         var HtmlText = iconv.loadText(HtmlPath,'utf-8')
  12.         var newHtmlText = HtmlText.replace(
  13.                 /("thumbnailtitle"\>).+?(?=\<\/a)/g,
  14.                 function($0,$1){return $1+FileNameList.shift()}
  15.         )

  16.         iconv.saveText(newHtmlText,HtmlPath,'utf-8')
  17. }
  18. </script>
复制代码

评分

参与人数 1技术 +1 收起 理由
我来了 + 1 拜服这些代码帝们,实在是太给力啦!!!

查看全部评分

 楼主| 发表于 2015-5-20 17:02:58 | 显示全部楼层
感谢老师们支持,要有啥破解软件的差事,小的可以一试。
发表于 2015-5-20 19:17:10 | 显示全部楼层
回复 5# 我来了


    搜噶,以后有什么破解方面的问题就要请教楼主了
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-3-18 14:39 , Processed in 0.019527 second(s), 8 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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