|   
 
 | 
| **********字符批量替换程序asp服务器版****************** 安装方法:直接把replace.asp文件放在任意的支持asp+fso的环境中
 运行方法:用http://localhost/.../replace.asp访问即可看到程序的效果
 此程序的功能主要用来替换文件夹中所有文本文件字符用的。
 如:txt、htm、asp、jsp、php、…… 一切的文本文件
 div+css布局 兼容ff和ie浏览器
 ---------目前具有功能------------------------
 即时查看当前替换文件路径
 可选备份原文件为 “原文件.bak”
 文件夹无限层嵌套替换字符
 被替换文件路径显示
 总文件数和被替换过文件数显示
 ...
 程序用途举例-
 清除类似的网页木马<iframe src="" width="0" height="0"></iframe>
 批量替换文件字符,少量的文件就用不上这个程序了
 可上传在服务器上,在线替换批量替换字符
 当“查找字符”和“替换的字符串”相同时,可以查找大量文本文件中,哪些文件包含有目标字符
 ....
 155120699原创  欢迎指正   hezhiwu5@163.com 21:47 2007-3-12
 ------------------------------------------------------------------------------------------------------
 
 代码如下:
 
  <%option explicit%>
 <html>
 <head>
 <meta http-equiv="content-type" content="text/html; charset=gb2312" />
 <meta http-equiv="content-language" content="zh-cn" />
 <meta name="author" content="155120699编写 hezhiwu5@163.com " />
 <meta name="description" content="字符替换程序" />
 <meta name="copyright" content="155120699原创web程序 欢迎指正"/>
 <title>字符替换程序asp服务器版</title>
 <style type="text/css">
 <!--
 #top
 {
 text-align:center;
 margin:auto;
 font-size:11pt;
 }
 #top_b
 {
 text-align:left;
 width:350px;
 border:1px solid #000000;
 margin:auto;
 padding:0px;
 line-height:200%;
 }
 #top_b div
 {
 padding-left:8px;
 padding-right:8px;
 }
 #ftitle
 {
 text-align:center;
 width:350px;
 background:silver;
 font-weight:bold;
 letter-spacing:5px;
 font-size:15pt;
 padding:3px 0 3px 0;
 color:red;
 margin:auto;
 border:1px solid #000000;
 border-width:1px 1px 0 1px;
 }
 #btm
 {
 text-align:center;
 padding-top:8px;
 padding-bottom:8px;
 background:#ececec
 }
 textarea
 {
 width:330;
 height:100px
 }
 #copyr
 {
 font-size:9pt;
 text-align:center;
 color:silver
 }
 -->
 </style>
 </head>
 <body>
 <%
 if request.querystring("add")="yes" then
 %>
 <div id="top">
 <div id="ftitle">程序处理结果</div>
 <div id="top_b">
 <div>
 总文件:<span style="color:red" id="allfile"> </span>个
 替换过文件:<span style="color:red" id="repfile"> </span>个
 </div>
 <div><br />被替换过文件路径列表↓<textarea id="txtreple" style="overflow:auto"></textarea></div>
 <div id="copyr"><br />风云制作 hezhiwu5@163.com 2007-3-12</div>
 </div>
 </div>
 <%
 dim oldstr
  ldstr=request.form("lookstr") '源字符串 dim newstr :newstr=request.form("replacestr") '新字符串
 dim rep : rep=cbool(request.form("bak")) '是否备份文件,true为备份文件
 dim i : i=0 '总文件个数
 dim j : j=0 '被替换的文件个数
 function chkexistsfile(path) '判断一个文件是否存在,如果存在,返回true,否则返回false
 dim fso
 set fso=server.createobject("scripting.filesystemobject")
 if fso.fileexists(path) then
 chkexistsfile=true
 else
 chkexistsfile=false
 end if
 set fso=nothing
 end function
 function getfilecode(path) '获取一个文件的代码
 dim fso
 if chkexistsfile(path) then
 set fso=server.createobject("scripting.filesystemobject")
 dim filecode : set filecode=fso.opentextfile(path,1)
 getfilecode=filecode.readall
 set fso=nothing
 else
 getfilecode=path & "不存在该文件"
 end if
 end function
 sub jstxt(txt) '使用javascript
 response.write "<script type=""text/javascript"" language=""javascript"">"
 response.write "<!--"&chr(13)&chr(10)
 response.write txt
 response.write chr(13)&chr(10)&"//-->"
 response.write "</script>"
 end sub
 
 sub getfolderfile(cpath) '替换某一个(子)文件夹下的所有文件
 response.flush
 dim fso : set fso=server.createobject("scripting.filesystemobject")
 if fso.folderexists(cpath)=false then
 jstxt("alert("" "&replace(cpath,"\","\\") & "不存在该文件夹!"&" "") ")
 response.end
 end if
 dim folders : set folders=fso.getfolder(cpath)
 dim sfile
 for each sfile in folders.files
 dim filecode : filecode=getfilecode(sfile)
 dim filecode_b : filecode_b=filecode
 if instr(filecode,oldstr) <> 0 and fso.getextensionname(sfile) <> "bak" then
 jstxt("document.getelementbyid(""txtreple"").value+="""& replace(sfile,"\","\\") & "\r\n""" &chr(13)&chr(10))
 jstxt("window.status="""& replace(sfile,"\","\\")&"""")
 jstxt("document.title="""& replace(sfile,"\","\\")&"""")
 filecode=replace(filecode,oldstr,newstr)
 dim newfilecode : set newfilecode=fso.opentextfile(sfile,2)
 newfilecode.write filecode
 j=j+1
 if rep then
 dim newfilecode_b : set newfilecode_b=fso.opentextfile(sfile+".bak",2,true)
 newfilecode_b.write filecode_b
 end if
 end if
 i=i+1
 jstxt("document.getelementbyid(""allfile"").innerhtml="""&i&"""")
 jstxt("document.getelementbyid(""repfile"").innerhtml="""&j&"""")
 next
 dim sfolder
 for each sfolder in folders.subfolders
 getfolderfile(sfolder)
 next
 set fso=nothing
 
 end sub
 
 getfolderfile(trim(request.form("pfolder"))) '调用程序
 else
 %>
 <div id="top">
 <form action="?add=yes" method="post" name="strform">
 <div id="ftitle">字符批量替换程序</div>
 <div id="top_b">
 <div>文件夹地址:<input type="text" size="25" name="pfolder"/></div>
 <div>备份原文件:<input type="checkbox" name="bak" value="true" /></div>
 <div><br />查找字符串↓<textarea name="lookstr"></textarea></div>
 <div><br />替换查找的字符串↓<textarea name="replacestr"></textarea></div>
 <div id="btm"><input type="button" value=" 确定 "/></div>
 <div id="copyr"><br />风云制作 hezhiwu5@163.com 2007-3-12</div>
 </div>
 </form>
 </div>
 <script type="text/javascript" language="javascript">
 <!--
 function chk()
 {
 var forma=document.strform;
 if(forma.pfolder.value=="")
 {
 alert("文件夹地址不能为空");
 forma.pfolder.focus();
 return;
 }
 else
 {
 forma.pfolder.value=forma.pfolder.value.replace(/\//g,"\\");
 forma.pfolder.value=forma.pfolder.value.replace(/。/g,".");
 }
 if(forma.lookstr.value=="")
 {
 alert("查找字符串不能为空!");
 forma.lookstr.focus();
 }
 else if(forma.replacestr.value=="")
 {
 alert("替换查找的字符串不能为空");
 forma.replacestr.focus();
 }
 else
 {
 forma.submit();
 }
 }
 //-->
 </script>
 <% end if %>
 </body>
 </html>
 本文来自: 脚本之家(www.jb51.net) 详细出处参考:http://www.jb51.net/article/8351.htm
 | 
 |