字符批量替换程序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原创  欢迎指正    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 :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 />风云制作  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>

(0)

相关推荐

  • asp.net“服务器应用程序不可用” 解决方法

    引起这个的原因大概是现安装了.Net Framework后装的IIS导致.Net没有在IIS里注册. 在网上找了很久都是说从.net命令行工具里运行aspnet_regIIS /i就可以了(或者在类似下面的目录:C:\WINDOWS\Microsoft.NET\Framework\v1.1.4322\aspnet_regiis.exe -i),但是自己试了很多次都不行,后来发现还是要先卸载再安装,重新创建为应用程序才行,具体如下: 从.net命令行工具里运行 aspnet_regIIS /u 卸

  • iis8.5显示ASP的详细错误信息500 内部服务器错误解决方法

    方法如下: 打开Internet 信息服务(IIS)管理器(运行--inetmgr),然后双击"ASP"打开属性页, (Internet 信息服务(IIS)管理器) 然后展开"调试属性",将"将错误发送到浏览器"的值改为"True",然后点击右侧的"应用"以保存设置. 然后双击打开"错误页"属性页,然后点击右侧的"编辑功能设置",选择"详细错误(D)&quo

  • asp服务器如何搭建

    直接开始搭建asp服务器,大家一起动手操作. web服务扩展,除了第一二项,其他都允许. 打开Internet信息服务(IIS)管理器 点击默认网站的属性 点击主目录 点击配置-->选项,把启用父路径的勾打上. 点击浏览中,找到以解压的asp网站管理系统路径选上. 点击文档.把启用默认内容文档的都删除,从新添加index.asp.之后其他就确定.完成. 以上就是asp服务器搭建的具体实现步骤,希望对大家熟练掌握搭建asp服务器有所帮助.

  • 推荐4款傻瓜型的ASP服务器软件(asp运行环境一键搭建工具)

    虽然现在各种语言大行其道,但是asp的成熟性以及易用性还是有很大的客户量存在,要运行ASP程序,必须安装调试ASP的环境,这里我们就需要安装Windows自带的IIS作为服务器.而IIS的安装对于非专业人士来说是件难以完成的任务,通常不知道如何着手,且安装过程繁琐,容易出错,还需要操作系统安装光盘.这里,我推荐几款傻瓜型的ASP服务器软件,比较适合初级站长. 1.IIS自动安装程序: 官方网站:http://landian.cc/ IIS的安装对于非专业人士来说是件难以完成的任务,通常不知道如何

  • Asp.net获取服务器指定文件夹目录文件并提供下载的方法

    本文实例讲述了Asp.net获取服务器指定文件夹目录文件并提供下载的方法.分享给大家供大家参考.具体实现方法如下: 复制代码 代码如下: string dirPath = HttpContext.Current.Server.MapPath("uploads/"); if (Directory.Exists(dirPath)) {        //获得目录信息        DirectoryInfo dir = new DirectoryInfo(dirPath);       

  • Asp.net的服务器推技术 (Server Push)

    要想长时间保持服务器和浏览器之间的连接怎么办?长连接技术,这可不是什么新技术,用IFrame作为隐藏帧指向长请求页面的方法早已被很多人运用在互联网上,但是IFrame作为隐藏帧有一个弊端,那就是浏览器的进度条始终处在读取状态.为了使用户获得更好体验,"Google的天才们"使用了一个叫"htmlfile"的对象解决了这一问题,并把它运用了了GMail和GTalk两个产品上. 如今我们公司要做的新项目上要求有实时报警功能,本来我想用AJAX轮询做,但是觉得挺没追求的,

  • win2003+IIS服务器下运行ASP+ACCESS非常慢的解决方法

    笔者今天重新装了服务器,装的是win2003+IIS,在上面运行的是ASP+ACCESS.装完之后,浏览HTML页面,非常快,令人很满意:)但是,运行ASP就狂慢,即使只运行<%=now()%>都非常慢.这到底是怎么回事呢? 笔者在网上狂搜一通,结果只到到一堆人提出同样的问题,但是就是没有一个有用的答案. 于是,笔者找了一个在机房工作的朋友问,结果,只用了1分钟就搞定了,真是狂喜啊.但是,好东西不能只自己享用,现在和大家分享一下. 解决办法如下: 打开IIS,应用程序池-> Defaul

  • asp.net下模态对话框关闭之后继续执行服务器端代码的问题

    最近做一个从Access项目向 Asp.net + SqlServer迁移工作,其中遇到了这种情况,在Access窗体的一个按钮事件中,代码大体上是这么个功能:弹出模态对话框,在关闭对话框之后继续走一段数据库操作代码. 在Asp.net里弹出模态对话框容易,但是在模态对话框关闭之后还要继续执行服务器代码,这就要求当对话框关闭之后页面要立即提交.于是有了以下的解决方法. 在Web Form中拖入服务器端按钮,并假设此按钮ID为 btnComput,在隐藏页面的 Page_Load 中用代码中这样写

  • win2003服务器asp.net权限设置问题及解决方法

    服务器asp.net权限设置问题及解决方法 本人服务器使用环境:WIN 2003 ASP.NET相对于ASP,设置权限方面有点不同,有一点儿设置错了都运行不到.在网上搜索到的都是很垃圾的答案,没有一个用得到的,下面是我自己设置并从中遇到的问题摸索后得到的经验,给大家分享. ASP.NET需要用到USERS组的权限,因为我也遇过很多次自己设置了权限之后发现网站运行不了,很郁闷.下面根据出现的问题,一点点解决,让你的ASP.NET运行起来.. 问题一: 未找到路径"C:\"的一部分. 说明

  • IIS7.5显示ASP的详细错误信息"500 – 内部服务器错误解决"

    方法如下: 打开Internet 信息服务(IIS)管理器(运行--inetmgr),然后双击"ASP"打开属性页, (Internet 信息服务(IIS)管理器) 然后展开"调试属性",将"将错误发送到浏览器"的值改为"True",然后点击右侧的"应用"以保存设置. 然后双击打开"错误页"属性页,然后点击右侧的"编辑功能设置",选择"详细错误(D)&quo

  • ASP脚本组件实现服务器重启

    大家知道直接使用ASP是不能够重启服务器的,这时我们需要制作一个组件来实现功能,ASP通过这个组件调用系统API,然后按照不同的重启和关机方式进行操作! 下面先说COM的制作,在VB中新建一工程,当然是AceiveX dll的. 1)先修改工程属性,在工程属性窗口将工程名称改为system,在类模块窗口将模块名称改为contral,保存工程; 2)然后添加一个模块,用来声明需要使用的API和常数,下面是模块中的内容. Declare Function ExitWindowsEx Lib "use

  • ASP 时间函数及如何获取服务器时间的写法

    一.常用的ASP时间函数 1.now() 获取当前系统日期和时间,ASP输出格式:<%=now()%> 2.Year(now()) 获取年份, ASP输出格式:<%=Year(now())%> 3.Month(now()) 获取当前月份,ASP输出格式:<%=Month(now())%> 4.day(now()) 获取当天数,ASP输出格式:<%=day(now())%> 5.hour(now())获取小时数,ASP输出格式:<%=hour(now()

  • win2008 r2 服务器环境配置(FTP/ASP/ASP.Net/PHP)

    以下是FTP/ASP/PHP/ASP.Net环境配置 一.FTP与ASP安装流程通过远程登录VPS,点击计算机管理>角色1.1首先我们选择自己需要装的配置环境ASP与FTP,所以只要在前面打勾再安装就可以了 1.2:需要安装的配置,确认安装 1.3:安装完成 二.安装PHP环境2.1首先我们通过在线平台安装PHP所需要的软件配置 2.2进入平台>产品>框架>选择PHP5.3.8与Windows Cache Extension 1.1 for PHP 5.3安装 2.3安装确认 2.

随机推荐