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

[文本处理] [已解决]批处理怎样提取a.txt中的网址?

[复制链接]
发表于 2010-5-31 14:03:28 | 显示全部楼层 |阅读模式
如题,提取a.txt中href=“到”之间的部分,并且每一条作为一行,处理完后每行前面加上http://www.wholesale-watches.org/补全地址,处理后结果b.txt
http://www.wholesale-watches.org/luxury-watches.html
http://www.wholesale-watches.org/fashion-watches.html
http://www.wholesale-watches.org/sport-watches.html
……
太多了就不一一写了


[ 本帖最后由 daohe 于 2010-5-31 23:25 编辑 ]

评分

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

查看全部评分

发表于 2010-5-31 14:46:59 | 显示全部楼层
居然不支持上传 rar 和htm格式 只好改成txt上传了

修改为htm格式 打开后 点保存按钮保存到b.txt

[local]1[/local]
发表于 2010-5-31 14:49:07 | 显示全部楼层
出现黄色条提示时 点它 弹出菜单后点“允许阻止的内容” 接着选“是” 点保存后也选 “是”
发表于 2010-5-31 15:26:39 | 显示全部楼层
以第三方命令fr或sed等完成操作:
fr下载地址:http://ishare.iask.sina.com.cn/f/7088512.html
  1. copy a.txt $temp$>nul
  2. fr $temp$ -ric:"<a href="" -t:"\r\nhttp://www.wholesale-watches.org/"
  3. fr $temp$ -ric:""" -t:"\r\n"
  4. findstr /b /l /c:"http://www.wholesale-watches.org/" $temp$>b.txt
  5. del $temp$
复制代码

评分

参与人数 1PB +5 收起 理由
Batcher + 5 乐于助人

查看全部评分

发表于 2010-5-31 15:45:35 | 显示全部楼层
试试把下列内容保存为test.vbs,同时把你的a.txt与test.vbs放在相同的目录下,直接运行test.vbs即可。
  1. Dim FSO, objFile, FileName, FileContent

  2. FileName = "F:\a.txt"

  3. Set FSO = CreateObject("Scripting.FileSystemObject")
  4. Set objFile = FSO.OpenTextFile(FileName, 1, False)
  5. FileContent = objFile.ReadAll

  6. RetStr=MyRegExp("<a(.+?)href=""*([^\s]+)""([^>]+|>)",FileContent)

  7. FSO.CreateTextFile("Res.txt",True).Write RetStr

  8. Set objFile=Nothing
  9. Set FSO = Nothing

  10. '/*/////////////////////////////////////////////////////////
  11. '*MadeTime:    2010-5-31
  12. '*LastModify:   2010-5-31
  13. '*功能:        正则提取内容
  14. '*参数:        正则表达式,处理字符串
  15. '**********************************************************
  16. Function MyRegExp(Patrn,strng)
  17. Dim InsertURL
  18. InsertURL="http://www.wholesale-watches.org/"
  19. Set RegEx1=New RegExp
  20.    
  21. RegEx1.Pattern = Patrn
  22. RegEx1.IgnoreCase=True     
  23. RegEx1.Global=True

  24. Set Matches =RegEx1.Execute(strng)   
  25. For Each Match In Matches      
  26.         RetStr=RetStr & InsertURL & Match.submatches(1) & vbcrlf
  27. Next
  28. MyRegExp=RetStr

  29. Set RegEx1=Nothing
  30. End Function
复制代码
 楼主| 发表于 2010-5-31 23:37:38 | 显示全部楼层
测试结果:

1楼 3楼正确,2楼运行结果为空了
发表于 2010-6-1 16:25:30 | 显示全部楼层

回复 6楼 的帖子

如果fr命令已下载,那么检查a.txt文本是否是ansi编码!
发表于 2011-5-22 11:40:09 | 显示全部楼层

  1. @echo off&setlocal enabledelayedexpansion
  2. for /f "delims=" %%i in (a.txt) do (
  3.     set "v=%%i"
  4.     set "v=!v:"= !"
  5.     for %%a in (!v!) do (
  6.     echo "%%a" |findstr "html">nul && echo http://www.wholesale-watches.org/%%~a
  7.     )
  8. )
复制代码
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-3-17 03:48 , Processed in 0.028200 second(s), 11 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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