[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

[文本处理] 批处理怎样替换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命令好像不行,是不是因为要修改的这行内容里有特殊符号导致。

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

TOP

本帖最后由 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

TOP

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

直接下载wfr.exe
http://baiy.cn/utils/wfr/wfr.rar
放到Windows\SYSTEM32里即可。

TOP

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

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



    这样会替换html 里所以的百度链接吧。我只要替换其中的一条。

TOP

回复 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:"\""
复制代码

TOP

  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
复制代码

TOP

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



非常感谢,用这个确实可以。要是可以不用拷文件到system32下直接用批处理是最好的。

TOP

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



    试了下,用这个好像不行。

TOP

请教大家,只用批处理来实现,还有好的方法没有?

TOP

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

TOP

返回列表