中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --
联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟
中国DOS联盟论坛
现在时间是 2026-08-07 13:35
48,040 主题排行 / 350,125 发帖 / 今日 0 篇 / 48,252 会员排行
DOS批处理 & 脚本技术(批处理室) » 如何用批处理进行替换?
可打印版本  929 / 7
第1楼 Nickey 发表于 2008-02-16 17:58
初级用户 发帖 59 积分 132 来自 GuangZhou
如何用批处理进行替换?
问题1:已解决

问题2:另外如何将
形如

<table WIDTH="220" HEIGHT="120" ALIGN="LEFT">
<tr>
<td>
<table>
<form>
<tr>
<td>
<a HREF="#">手机属地</a>
<input TYPE="Text">
<input TYPE="Submit">
</td>
</tr>
</form>
</table>
</td>
</tr>
</table>

或者(排列顺序一样,具体位置不一)

<table WIDTH="220" HEIGHT="120" ALIGN="LEFT">
<tr>
<td> <table>
<form><tr><td>
<a HREF="#">手机属地</a>
<input TYPE="Text">
<input TYPE="Submit">
</td></tr>
</form>
</table>
</td></tr></table>

替换为

<table WIDTH="220" HEIGHT="120" ALIGN="LEFT">
<tr>
<td>
<table>
<form>
<tr>
<td>
<a HREF="#">手机属地 </a>
<input TYPE="Text">
<input TYPE="Submit">
</td>
</tr>
</form>
</table>
</td>
</tr>
</table>

思路:先将所有<>以外的空格去掉
遇到<...>+1
遇到</...>-1
遇到第一个<...>重头起行 0=0
遇到第二个<...>重头起行+1半角空格 +1=1
遇到第三个<...>重头起行+2半角空格 +2=2
遇到第一个</...>重头起行+2半角空格 +2-0=2
遇到第二个</...>重头起行+1半角空格 +2-1=1
遇到第三个</...>重头起行 +2-2=0
不知道用批处理可不可以解决
的形式
谢谢!
各位节日快乐!

[ Last edited by Nickey on 2008-2-16 at 07:14 PM ]
第2楼 fastslz 发表于 2008-02-16 23:05
铂金会员 发帖 2,315 积分 5,493 来自 上海
难~
批处理就怕<>符号
自己练练sed吧
http://sed.sourceforge.net/sed1line_zh-CN.html

[ Last edited by fastslz on 2008-2-16 at 11:07 PM ]
第3楼 scriptor 发表于 2008-02-16 23:08
银牌会员 发帖 555 积分 1,187
换个思路:

不要替换法,

将你要的格式写在bat里, 再将读取的内容对应地补入.
第4楼 Nickey 发表于 2008-02-17 02:25
初级用户 发帖 59 积分 132 来自 GuangZhou

批处理就怕<>符号

我想可以用记事本先将<>替换为《》的形式
第5楼 slore 发表于 2008-02-17 13:45
铂金会员 发帖 2,478 积分 5,212
还有个难点。。。
<td> <table>
<a HREF="#">手机属地 </a>
为什么它换我不换?



如何只能判断呢?为什么不是:
<table WIDTH="220" HEIGHT="120" ALIGN="LEFT">
<tr>
<td>
<table>
<form>
<tr>
<td>
<a HREF="#">手机属地
</a>
<input TYPE="Text">
<input TYPE="Submit">
</td>
</tr>
</form>
</table>
</td>
</tr>
</table>
第6楼 Nickey 发表于 2008-02-17 19:55
初级用户 发帖 59 积分 132 来自 GuangZhou
VBS
SendKeys(" ")
SendKeys("{Enter}")
应该可以做到
问题是如何查找">"
pos = InStr(1,Ins,">")
vbs我不懂呀
如果可以实现以后做网页就方便咯 :D

[ Last edited by Nickey on 2008-2-17 at 08:28 PM ]
第7楼 sonicandy 发表于 2008-02-17 22:39
中级用户 发帖 91 积分 273
不知道你有什么目标呢?
可以使用 InternetExplorer.Application 的 document 对象
或者 MSXML2.DOMDocument 的实例来提取网页的内容.
第8楼 Nickey 发表于 2008-02-18 18:57
初级用户 发帖 59 积分 132 来自 GuangZhou
做网页的时候如果排列整齐可以方便查错
记得以前有个网站管理平台可以将提交的杂乱网页代码整理到好像上面的效果一样
形如:<html><head><meta http-equiv="content-type" content="text/html; charset=UTF-8"><title>Google</title><style>body,td,a,p,.h。。。
这样的查看同修改都不方便
我想达到的效果是清晰明朗
如果实现不了 我想依靠网页的JavaScript应该可以解决问题
[ 联系联盟系统管理团队 - 中国DOS联盟 - 标准版 ]
Sponsored by ifanr Inc | © 2001–2023