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

[文本处理] [已解决]批处理如何从大量html文件中提取指定的tag中的内容?

[复制链接]
发表于 2015-4-3 16:52:58 | 显示全部楼层 |阅读模式
本帖最后由 liyanqi159 于 2015-4-3 18:09 编辑

源文件是html格式,文件名为1.html,2.html

  比如 1.html 里的内容为     <li>To set a photo as the wallpaper, tap <b>Enter Gallery</b>, select and crop a photo, and then tap <b>Apply</b>.</li>
         2.html 里的内容为     <li>To use a  wallpaper, tap the wallpaper thumbnail, and then tap <b>Apply</b>.</li>

把红色的文字提取出来放到一个1.txt文件中。
文本里的内容为
1.html Enter Gallery
1.html Apply
2.html Apply

谢谢大神啦!
发表于 2015-4-3 17:24:22 | 显示全部楼层
是否方便提供一份或多份源文件用于测试代码?
 楼主| 发表于 2015-4-3 17:34:04 | 显示全部楼层
回复 2# bailong360


附件是3个htm文件,谢谢啦
发表于 2015-4-3 17:49:14 | 显示全部楼层
本帖最后由 bailong360 于 2015-4-3 17:52 编辑

  1. @echo off
  2. setlocal enabledelayedexpansion
  3. For /F "Delims=" %%i In ('Dir /B *.htm') Do (
  4.     For /F "Delims=" %%j In ('Findstr "<li>" "%%i"^|Grep -oP "(?<=<b>)..*?(?=</b>)"') Do >>提取.txt Echo %%~nxi.html %%j
  5. )
  6. pause
复制代码
是否符合要求?
本代码需要第三方grep支持,下载后与批处理放在同一目录下
http://batch-cn.qiniudn.com/tool/2.5.1/grep.exe

评分

参与人数 1技术 +1 收起 理由
liyanqi159 + 1 非常感谢!

查看全部评分

 楼主| 发表于 2015-4-3 17:57:51 | 显示全部楼层
回复 4# bailong360


  测试了,可以用,太感谢了!!!不用grep直接用批处理可以实现吗?
发表于 2015-4-3 18:02:56 | 显示全部楼层
回复 5# liyanqi159


    以我的能力怕是实现起来比较麻烦

PS 问题解决后记得标注[已解决]
发表于 2015-4-4 10:20:20 | 显示全部楼层
  1. @echo off
  2. setlocal enabledelayedexpansion
  3. (for /f "tokens=1* delims=:" %%a in ('findstr "<b>" *.htm') do (
  4.     set var=&set "ln=%%b"
  5.     for %%c in ("!ln:</b>=" "!") do (
  6.         if defined var echo,%%a !var:*^<b^>=!
  7.         set "var=%%~c"
  8.     )
  9. ))>1.txt
  10. pause
复制代码
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-3-19 11:25 , Processed in 0.018893 second(s), 8 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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