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

[文本处理] [已解决]批处理怎样从文档中提取超链接?

[复制链接]
发表于 2010-9-11 18:02:49 | 显示全部楼层 |阅读模式
本帖最后由 fanfande 于 2011-8-30 00:51 编辑

txt文档里面N多网址原始格式如下:

<a title="百度百科" href="http://baike.baidu.com/">百度百科</a>
<a title="网址之家" href="http://www.hao123.com/">网址之家</a>
<a title="sina博客" href="http://blog.sina.com.cn/">sina博客</a>
<a title="西祠胡同" href="http://www.xici.net/">西祠胡同</a>
等等。。。

需要处理成如下格式:

百度百科,http://baike.baidu.com/,1
网址之家,http://www.hao123.com/,1
sina博客,http://blog.sina.com.cn/,1
西祠胡同,http://www.xici.net/,1

逗号是半角的

这个提问的标题实在想不出如何定一个标题,值班斑竹可以帮我想一个,谢谢!
发表于 2010-9-11 18:48:36 | 显示全部楼层
  1. @echo off
  2. setlocal enabledelayedexpansion
  3. for /f "delims= tokens=1-10" %%a in (1.txt) do (
  4.         set m=%%a
  5.         set m=!m:~10!
  6.         set m=!m:"=~!
  7.         echo !m!>>tem1.txt
  8. )

  9. for /f "delims=~ tokens=1-10" %%i in (tem1.txt) do (
  10.         echo %%i,%%k,1 >>list.txt
  11. )
  12. del tem1.txt

  13. pause
复制代码
我不会用"作分隔符阿,只能多走几步了。

评分

参与人数 1技术 +1 收起 理由
CrLf + 1 乐于助人

查看全部评分

发表于 2010-9-11 19:24:28 | 显示全部楼层
  1. @echo off
  2. gawk "BEGIN{FS="\x22";OFS=","}{print $2,$4,"1"}" urfile
  3. exit
复制代码

评分

参与人数 1技术 +1 收起 理由
CrLf + 1 乐于助人

查看全部评分

发表于 2010-9-11 20:24:00 | 显示全部楼层
  1. @echo off
  2. for /f "tokens=1,2 delims=<>" %%a in (a.txt) do (
  3.     set "str=%%a"
  4.     setlocal enabledelayedexpansion
  5.     set "str=!str:~0,-1!,1"
  6.     set "str=!str:*http:=!"
  7.     echo %%b,http:!str!
  8.     endlocal
  9. )
  10. pause
复制代码

评分

参与人数 1技术 +1 收起 理由
CrLf + 1 乐于助人

查看全部评分

 楼主| 发表于 2010-9-12 07:01:46 | 显示全部楼层
假如原始格式是这样的

百度百科==http://baike.baidu.com==可以方便提出问题回答问题的地方
网址之家==http://www.hao123.com==网民收藏最多的网址
西祠胡同==http://www.xici.net/==西祠社区,总部在南京

需要处理成如下格式:

百度百科,http://baike.baidu.com/,1
网址之家,http://www.hao123.com/,1
西祠胡同,http://www.xici.net/,1


规律是取的 ==左边的内容   ==右边的被替换成了1

谢谢2楼
发表于 2010-9-12 08:24:25 | 显示全部楼层
  1. gawk "BEGIN{FS="=+";OFS=",";str="1"}{print $1,$2,str}" urfile
复制代码
发表于 2010-9-12 11:21:13 | 显示全部楼层

回复 5楼 的帖子

能否把问题更新到顶楼?
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-3-18 06:10 , Processed in 0.019073 second(s), 9 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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