![]() |
中国DOS联盟-- 联合DOS 推动DOS 发展DOS --联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum |
| 游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟 |
|
中国DOS联盟论坛 现在时间是 2026-08-11 19:44 |
共 47,811 主题排行 / 349,897 发帖 / 今日 0 篇 / 48,256 会员排行 |
| DOS批处理 & 脚本技术(批处理室) » [求助]截取然后替换 |
| 可打印版本 821 / 10 |
| 第1楼 5600549976 | 发表于 2009-04-21 01:11 |
| 新手上路 发帖 11 积分 11 | |
|
[求助]截取然后替换 有一堆网页文件,每个网页文件都含有一个<h1>aaaaa</h1>标记,aaaaa有四种类型 :
1.精装版《机械工程控制基本理论》西安交大出版社 2.(机械工程控制基本理论)西安交大出版社 3.机械工程控制基本理论(西安交大出版社) 4.机械工程控制基本理论 现在我想做的是 (1)如果aaaaa是类型1,把书名号中的内容(不包括书名号)替换此网页中的 <code>点击查看<a href=http://{$url}>书籍名称</a>内容</code> 中的"书籍名称" (2)如果aaaaa是类型2,把括号中的内容(不包括括号)替换替换此网页中的 <code>点击查看<a href=http://{$url}>书籍名称</a>内容</code> 中的"书籍名称" (3)如果aaaaa是类型3,去掉括号中的内容以及括号,然后把剩下的内容替换替换此网页中的 <code>点击查看<a href=http://{$url}>书籍名称</a>内容</code> 中的"书籍名称" (4)如果aaaaa是类型4,直接把内容替换就可以 请问用使用FR.EXE批处理如何实现自动判断网页是以上那种类型并且实现全自动批量替换(直接在源文件上改,不需要生成新的文件) |
|
| 第2楼 5600549976 | 发表于 2009-04-21 01:48 |
| 新手上路 发帖 11 积分 11 | |
|
有人帮帮我么~~ 麻烦大家了
|
|
| 第3楼 freeants001 | 发表于 2009-04-21 02:08 |
| 中级用户 发帖 244 积分 330 来自 湖北 | |
|
书籍名都一样,用sed很方便
附件 sed.rar (40.33 KiB) |
|
| 第4楼 HAT | 发表于 2009-04-21 02:26 |
| 版主 发帖 5,017 积分 9,023 | |
|
Re 3楼 建议不要重复上传附件,太浪费论坛空间了:)
批处理室附件收集专用帖http://www.cn-dos.net/forum/viewthread.php?tid=25914 |
|
| 第5楼 yishanju | 发表于 2009-04-21 02:27 |
| 银牌会员 发帖 1,357 积分 1,488 | |
|
没全明白,迷糊。
把原文件传上来看看 |
|
| 第6楼 yishanju | 发表于 2009-04-21 02:54 |
| 银牌会员 发帖 1,357 积分 1,488 | |
|
我很懒就大概的写一个样子,正则表达式写得不是很精确。
for /f "tokens=1* delims=" %%a in ('fr xx.html -rnnlic:".*<h1>.+《(.+)》.*</h1>.*" -t:"\1" -stdout') do ( echo 得到类型1书名: %%a fr -f:"书籍名称" -t:"%%a" xx.html ) |
|
| 第7楼 5600549976 | 发表于 2009-05-10 00:21 |
| 新手上路 发帖 11 积分 11 | |
|
yishanju大哥的批处理很棒,但有个很大的问题,我把批处理改成
今天把批处理拿到学校机房用的时候,处理一批文件时,批处理首先会遍历所有的HTML文件,然后把找到的每个HTML文件所有的%%a写入每个HTML里面,结果造成每个HTML文件里面都有所有HTML文件里的书名,应该怎么改使批处理处理完第一个文件后,然后处理第二个,不会相互影响 [ Last edited by 5600549976 on 2009-5-10 at 00:22 ] |
|
| 第8楼 5600549976 | 发表于 2009-05-10 01:57 |
| 新手上路 发帖 11 积分 11 | |
|
yishanju大哥还在吗
|
|
| 第9楼 5600549976 | 发表于 2009-05-10 04:36 |
| 新手上路 发帖 11 积分 11 | |
|
还有谁能帮帮我吗,麻烦大家了
|
|
| 第10楼 yishanju | 发表于 2009-05-10 07:04 |
| 银牌会员 发帖 1,357 积分 1,488 | |
|
我脑袋就大了,我给的代码是处理单个文件的
处理多文件需要在外面加一层FOR 得到文件名。 |
|
| 第11楼 5600549976 | 发表于 2009-05-10 09:59 |
| 新手上路 发帖 11 积分 11 | |
这么一说就懂了,3Q |
|
|
[ 联系联盟系统管理团队 -
中国DOS联盟 -
标准版 ] Sponsored by ifanr Inc | © 2001–2023 |