中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --
联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟
中国DOS联盟论坛
现在时间是 2026-09-26 10:38
共 47,813 主题排行 / 349,918 发帖 / 今日 0 篇 / 48,275 会员排行
DOS批处理 & 脚本技术(批处理室) » 批量替换网页文件中的某个固定字符(经搜索论坛无答案)
可打印版本  2,402 / 16
第1楼 cain 发表于 2007-11-17 18:45
中级用户 发帖 72 积分 201
批量替换网页文件中的某个固定字符(经搜索论坛无答案)
有几百个*.htm网页文件,均含有ABCD这个固定字符,想通过批处理把这几百个网页文件的ABCD这个固定字符替换成DCBA,请问如何写?
第2楼 junchen2 发表于 2007-11-17 18:52
高级用户 发帖 219 积分 537 来自 杭州--半山
sed "s/ABCD/DCBA/g" *.html
第3楼 cain 发表于 2007-11-17 21:00
中级用户 发帖 72 积分 201
谢谢楼上兄弟。正确的写法应该是:sed -i "s/ABCD/DCBA/g" *.html
但通过Sed处理后生成另外一个文件sedDOSSUX 而不是原来的html文件了。
请问各位还有什么好方法,允许使用第三方工具。
另:刚用change来替换,但速度比较慢,而且替换后的文件名变成了大写。

[ Last edited by cain on 2007-11-17 at 09:07 PM ]
第4楼 fastslz 发表于 2007-11-17 22:18
铂金会员 发帖 2,315 积分 5,493 来自 上海
很多例子的怎么搜索不到呢
第5楼 fastslz 发表于 2007-11-17 23:05
铂金会员 发帖 2,315 积分 5,493 来自 上海
哦忽略了要处理html都有特殊字符><的,建议还是用sed,貌似sed也会出现问题的,html特殊字符是避免不了的。至于你说的sedDOSSUX,你可以用3.05版的sed,或者ssed
第6楼 cain 发表于 2007-11-17 23:06
中级用户 发帖 72 积分 201
谢谢fastslz。但用你的代码处理后html文件只剩下 ABCD=DCBA 这一行了。不知何做。
第7楼 fastslz 发表于 2007-11-17 23:29
铂金会员 发帖 2,315 积分 5,493 来自 上海
文本替换专家 v2.6
http://www.wfsoft.com/software_info.asp?id=30030
用这个一个一个的去替换文件吧
如果这个工作经常要做,办法还是有的,那还是万无一失的办法。
第8楼 lxmxn 发表于 2007-11-17 23:40
版主 发帖 4,938 积分 11,386
Originally posted by fastslz at 2007-11-17 23:05:
哦忽略了要处理html都有特殊字符><的,建议还是用sed,貌似sed也会出现问题的,html特殊字符是避免不了的。至于你说的sedDOSSUX,你可以用3.05版的sed,或者ssed

sed 如何完成 ?
第9楼 junchen2 发表于 2007-11-17 23:47
高级用户 发帖 219 积分 537 来自 杭州--半山
@echo off
for /f "delims=" %%a in ('dir /s /b /a-d *.html') do (
sed -i "s/ABCD/DCBA/g" %%~sa
)
pause

难道是这意思?
第10楼 fastslz 发表于 2007-11-17 23:51
铂金会员 发帖 2,315 积分 5,493 来自 上海
Originally posted by lxmxn at 2007-11-17 23:40:

sed 如何完成 ?

我也不知道,只是他3楼说过用sed的
哈哈、哪种万无一失不怕任何特殊字符的办法也是刚想到的,只是我以前没拿它用在字符替换上。
第11楼 zh159 发表于 2007-11-18 01:18
金牌会员 发帖 1,467 积分 3,687
VBS可以,不过发现如果文件是Unicode编码的就会出错
生成的新文件在原文件名前加上“str-”,位置和原文件相同,英文字符不区分大小写


[ Last edited by zh159 on 2007-11-18 at 01:33 AM ]
第12楼 fastslz 发表于 2007-11-18 01:57
铂金会员 发帖 2,315 积分 5,493 来自 上海
ANSI编码完美解决方法~
第13楼 cain 发表于 2007-11-18 07:57
中级用户 发帖 72 积分 201
Originally posted by fastslz at 2007-11-17 23:05:
哦忽略了要处理html都有特殊字符><的,建议还是用sed,貌似sed也会出现问题的,html特殊字符是避免不了的。至于你说的sedDOSSUX,你可以用3.05版的sed,或者ssed


请问哪有3.05版的sed或ssed下载呢,论坛上找不到呢。
第14楼 terse 发表于 2007-11-18 13:43
银牌会员 发帖 946 积分 2,404
这样处理行不?


[ Last edited by terse on 2007-11-18 at 01:48 PM ]
第15楼 vkill 发表于 2007-11-18 17:23
金牌会员 发帖 1,744 积分 4,103 来自 甘肃.临泽
我想sed可以间接的 先copy到%temp%下再>
1 2  下一页
[ 联系联盟系统管理团队 - 中国DOS联盟 - 标准版 ]
Sponsored by ifanr Inc | © 2001–2023