Board logo

标题: [文本处理] 批处理怎样替换html文件中指定一行的内容? [打印本页]

作者: hxspring    时间: 2012-8-17 10:19     标题: 批处理怎样替换html文件中指定一行的内容?

本帖最后由 hxspring 于 2012-8-17 10:20 编辑

如何修改这个html内容里的这一行<div id="botton1"><a href="http://www.baidu.com" target="_blank"></a></div> 为
<div id="botton1"><a href="http://www.google.com" target="_blank"></a></div>

<div id="content">
<ul>
<li><a href="http://www.baidu.com" target="_blank" class="edde37">百度
</a></li>
<li><a href="http://www.baidu.com" target="_blank" class="edde37"> 百度


</a></li>
<li><a href="http://www.baidu.com" target="_blank" class="edde37">百度

  </a></li>
<li><a href="http://www.baidu.com" target="_blank">百度

</a></li>
<li><a href="http://www.baidu.com" target="_blank">百度


</a></li>
</ul>
</div>

</div>
<div id="right">
<div id="x"><a href="CmdExit://win.close"><img src="x.gif" width="18" height="18" /></a></div>
<div  id="botton">
<div id="botton1"><a href="http://www.baidu.com" target="_blank"></a></div>
<div id="botton2"><a href="Cmdrun://web win.close" ></a></div>

用SET命令好像不行,是不是因为要修改的这行内容里有特殊符号导致。
作者: canyuexiaolang    时间: 2012-8-17 11:38

set 可以。
  1. setlocal enabledelayedexpansion
  2. set "line=>>>>>>>>>>"
  3. set "line=!line:>=1!"
  4. echo !line!
  5. pause
复制代码

作者: hxspring    时间: 2012-8-17 13:20

本帖最后由 hxspring 于 2012-8-17 13:41 编辑

麻烦版主能不能帮我把完整的代码都写出来,后面的替换文件内容等。

set f=d:\1\index.html
setlocal enabledelayedexpansion
set "line=<div id="botton1"><a href="http://www.baidu.com" target="_blank"></a></div>"
set "line=!line:>=<div id="botton1"><a href="http://www.google.com" target="_blank"></a></div>!"
echo !line!
pause
作者: 狗屁不通    时间: 2012-8-17 13:37

wfr 文件.txt -f:"baidu" -t:"google"

直接下载wfr.exe
http://baiy.cn/utils/wfr/wfr.rar
放到Windows\SYSTEM32里即可。
作者: hxspring    时间: 2012-8-17 13:43

wfr 文件.txt -f:"baidu" -t:"google"

直接下载wfr.exe
http://baiy.cn/utils/wfr/wfr.rar
放到Windo ...
狗屁不通 发表于 2012-8-17 13:37



    这样会替换html 里所以的百度链接吧。我只要替换其中的一条。
作者: 狗屁不通    时间: 2012-8-17 14:13

回复 5# hxspring



  1. wfr ok.txt -f:"\"" -t:"@"
  2. wfr ok.txt -f:"botton1@><a href=@http://www.baidu.com" -t:"botton1@><a href=@http://www.google.com"
  3. wfr ok.txt -f:"@" -t:"\""
复制代码

作者: apang    时间: 2012-8-17 15:14

  1. @echo off
  2. set "v=<div id="botton1"><a href="http://www.baidu.com" target="_blank"></a></div>"
  3. (for /f "tokens=1* delims=:" %%a in ('findstr /n ".*" 1.txt') do (
  4.   if "%%b" neq "%v%" (echo,%%b
  5.   ) else for %%c in ("%v:baidu=google%") do echo,%%~c
  6. ))>2.txt
复制代码

作者: hxspring    时间: 2012-8-17 17:03

回复  hxspring
狗屁不通 发表于 2012-8-17 14:13



非常感谢,用这个确实可以。要是可以不用拷文件到system32下直接用批处理是最好的。
作者: hxspring    时间: 2012-8-17 17:05

apang 发表于 2012-8-17 15:14



    试了下,用这个好像不行。
作者: hxspring    时间: 2012-8-17 17:07

请教大家,只用批处理来实现,还有好的方法没有?
作者: hxspring    时间: 2012-8-25 10:34

求助,只用批处理来实现。




欢迎光临 批处理之家 (http://www.bathome.net/) Powered by Discuz! 7.2