程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> ASP編程 >> 關於ASP編程 >> 字符批量替換程序asp服務器版

字符批量替換程序asp服務器版

編輯:關於ASP編程
**********字符批量替換程序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原創  歡迎指正    [email protected]    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編寫  [email protected] " />
<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 />風雲制作  [email protected]  2007-3-12</div>
    </div>
</div>
<%
dim oldstr :oldstr=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=" 確定 " onclick="chk()"/></div>
            <div id="copyr"><br />風雲制作  [email protected]  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>
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved