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

[文本处理] [已解决]批处理如何提取文本内的指定内容?

[复制链接]
发表于 2016-2-17 22:18:10 | 显示全部楼层 |阅读模式
本帖最后由 zjw767676 于 2016-2-18 18:18 编辑

需要提取index.txt中的“/dushi/20150506/1237296.html”之类的输入到1.txt:

  1. * 其他类型</book/qita/>
  2.   * 全本小说</change/quanben/>
  3.   *

  4. 加入书签 | 推荐本书 | 返回书页</book/dushi/1844/> | 我的书架 | 手机阅读<http://m.7ddw.com/chapter/dushi/1844/>

  5. 顶点小说<http://www.7ddw.com> -> 都市言情</book/dushi/> -> 重生之财色天下</book/dushi/1844/>
  6.   

  7. 重生之财色天下 最新章节更新列表

  8.   

  9. 重生之财色天下作者:天下第一白

  10.   
  11. 第1章 :梦回2000</dushi/20150506/1237296.html> 第2章 :三大门户网站都不赚钱</dushi/20150506/1237297.html> 第3章 :那些年,我们追过的女孩</dushi/20150506/1237298.html> 第4章 :指点丁磊</dushi/20150506/1237299.html>
  12. 第5章 :五张模拟试卷</dushi/20150506/1237300.html> 第6章 :熊猫烧香</dushi/20150506/1237301.html> 第7章 :试探张宁</dushi/20150506/1237302.html> 第8章 :病毒发威</dushi/20150506/1237303.html>
复制代码
我的代码:
  1. @echo off&setlocal enabledelayedexpansion
  2. (for /f "delims=^<^> tokens=1-8" %%a in (index.txt) do (
  3. set a=%%a
  4.   set b=%%b
  5.      set c=%%c
  6.         set d=%%d
  7.            set e=%%e
  8.               set f=%%f
  9.                  set g=%%g
  10.                    set h=%%h
  11. set /a "1/!a:~-11,-5!" 2>nul && echo,%%a
  12. set /a "1/!b:~-11,-5!" 2>nul && echo,%%b
  13. set /a "1/!c:~-11,-5!" 2>nul && echo,%%c
  14. set /a "1/!d:~-11,-5!" 2>nul && echo,%%d
  15. set /a "1/!e:~-11,-5!" 2>nul && echo,%%e
  16. set /a "1/!f:~-11,-5!" 2>nul && echo,%%f
  17. set /a "1/!g:~-11,-5!" 2>nul && echo,%%g
  18. set /a "1/!h:~-11,-5!" 2>nul && echo,%%h

  19. ))1.txt
复制代码
代码不足之处:不简练,会产生空行。请指教!!!
发表于 2016-2-17 23:08:23 | 显示全部楼层
  1. @echo off
  2. for /f "tokens=2,4,6,8 delims=<>" %%i in ('findstr /i "[0-9]\.html" index.txt') do (
  3.     echo;%%i
  4.     echo;%%j
  5.     echo;%%k
  6.     echo;%%l
  7. )
  8. pause
复制代码

评分

参与人数 1技术 +1 收起 理由
zjw767676 + 1 这就是我需要的! 居然不要转义!!!! ...

查看全部评分

发表于 2016-2-17 23:34:39 | 显示全部楼层
本帖最后由 ivor 于 2016-2-18 00:16 编辑

回复 1# zjw767676

python比cmd控制台兼容性好,代码也少,越复杂会越明显。
  1. # python 3.5.1
  2. # coding:utf-8

  3. import re

  4. try:
  5.     with open(r"d:\desk\bat\test.html", "r") as file:
  6.         for lines in file.readlines():
  7.             data = re.findall(r"<(.+?)>",lines)
  8.             for i in data:
  9.                 print(i)
  10. except:
  11.     print("出现问题了,去www.bathome.net反馈")
  12.     input("回车退出...")
  13. input("回车退出...")
复制代码

评分

参与人数 1技术 +1 收起 理由
zjw767676 + 1 感谢帮助!不懂python

查看全部评分

发表于 2016-2-18 00:39:00 | 显示全部楼层
本帖最后由 依山居 于 2016-2-18 00:44 编辑

正则表达式
  1. 第\d+章.*?<(.*?)>
复制代码
这样可能更严谨点
  1. 第\d+章.*?<(.*?\.html)>
复制代码

评分

参与人数 2技术 +2 收起 理由
zjw767676 + 1 感谢!!!!
ivor + 1 可以有

查看全部评分

发表于 2016-2-18 08:53:05 | 显示全部楼层
  1. """
  2. 2016年2月18日 08:20:03 codegay
  3. """
  4. import re
  5. url=re.findall(r"<(/dushi/\d+/\d+.html)>",open("提取指定文本.py",encoding="utf-8").read())
  6. [print(r,file=open("result.txt","a+")) for r in url]


  7. """

  8. * 其他类型</book/qita/>
  9.   * 全本小说</change/quanben/>
  10.   *

  11. 加入书签 | 推荐本书 | 返回书页</book/dushi/1844/> | 我的书架 | 手机阅读<http://m.7ddw.com/chapter/dushi/1844/>

  12. 顶点小说<http://www.7ddw.com> -> 都市言情</book/dushi/> -> 重生之财色天下</book/dushi/1844/>
  13.   

  14. 重生之财色天下 最新章节更新列表

  15.   

  16. 重生之财色天下作者:天下第一白

  17.   
  18. 第1章 :梦回2000</dushi/20150506/1237296.html> 第2章 :三大门户网站都不赚钱</dushi/20150506/1237297.html> 第3章 :那些年,我们追过的女孩</dushi/20150506/1237298.html> 第4章 :指点丁磊</dushi/20150506/1237299.html>
  19. 第5章 :五张模拟试卷</dushi/20150506/1237300.html> 第6章 :熊猫烧香</dushi/20150506/1237301.html> 第7章 :试探张宁</dushi/20150506/1237302.html> 第8章 :病毒发威</dushi/20150506/1237303.html>
  20. """
复制代码

评分

参与人数 1技术 +1 收起 理由
zjw767676 + 1 感谢!!!

查看全部评分

发表于 2016-2-18 11:51:49 | 显示全部楼层
按照顶楼代码的意思,楼主应该是想匹配 .html 前面的7位数字
另外,如果不确定文本编码类型,可以考虑用 PowerShell
  1. $ar = type index.txt | %{
  2.     [regex]::Matches($_, '<(/.+?/\d{7}\.html)>', 'IgnoreCase') | %{$_.Groups[1].Value}
  3. }
  4. Out-File 1.txt -Input $ar -Encoding utf8
复制代码
 楼主| 发表于 2016-2-18 18:17:05 | 显示全部楼层
回复 2# WHY

这就是我想要的,下载小说用的提取各章节的地址!
"<>"不需转义也可用!!!!!受教了!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-3-18 05:59 , Processed in 0.036829 second(s), 15 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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