bat查找文件及文件里面的字符串并修改

我有个一文件夹,文件夹下面还有好几个文件夹,里面有*.htm的文件。我想查找里面的内容为<paramname=URLvalue="c:\ppt\script\Insert... 我有个一文件夹,文件夹下面还有好几个文件夹,里面有*.htm的文件。我想查找里面的内容为 <param name=URL value="c:\ppt\script\InsertFiles\Demo.wmv">
替换成 <param name=URL value="">
其中 <param name=URL value="********.wmv"> 这些是可变的,那位高手能指点一下吗
展开
 我来答
匿名用户
2011-06-08
展开全部
问题的问题:
因为是在文件中查找类似value="c:\ppt\script\InsertFiles\Demo.wmv"这样的字符串,
所以要设标识符,分隔符,等等。
1、htm中的<param name=URL value="c:\ppt\script\InsertFiles\Demo.wmv">
是否只有一个,或在指定行中。
2、value="" 是不是这一行独有的标记。
更多追问追答
追问
1、这行每个页面只有一个
2、value="" 这个页面的其他行也可能有value=“”。因为有可能有

这种的存在
追答
请自己再测试一次,这个是用bat查找这行字符。调用vbs替换的防止,bat替换会出错。

查找上面这行我用的标识符是name=URL这样可以吗?
@echo off
set ext=*.htm
setlocal enabledelayedexpansion
for /f "delims=" %%a in ('dir /a-d /b %ext%') do (set F=%%~fa
for /f "tokens=3 delims==>"" " %%1 in ('findstr /c:"name=URL" "!F!"') do (call :sub "%%~1" "!F!"))
exit
:sub
echo file=wscript.arguments(0)>LSD.vbs
echo set fso=createobject("scripting.filesystemobject")>>LSD.vbs
echo set fil=fso.opentextfile(file)>>LSD.vbs
echo s=fil.readall>>LSD.vbs
echo fil.close>>LSD.vbs
echo set fi=fso.opentextfile(file,2)>>LSD.vbs
echo s=Replace(s,%1,"")>>LSD.vbs
echo fi.write s>>LSD.vbs
echo fi.close>>LSD.vbs
cscript //b LSD.vbs %2
del LSD.vbs
云上他
2011-06-08 · TA获得超过3551个赞
知道小有建树答主
回答量:1499
采纳率:0%
帮助的人:796万
展开全部
我空间有个批量替换文件内容的vbs脚本
使用方法(步骤):
1. 该脚本一次处理一个文件夹下的所有文件,每次处理拖动一个文件夹到该vbs
2.输入:(<param name=URL value=")[\w\W]{0,30}.wmv(">)
3.再输入:$1$2

参考资料: http://hi.baidu.com/云上他/home

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式