asp源码打包成xml的工具

下边这个存为Pack.asp,打包文件时运行


代码如下:

<%@LANGUAGE="VBSCRIPT" CODEPAGE="65001"%> 
<%OptionExplicit%> 
<%OnErrorResumeNext%> 
<% Response.Charset="UTF-8"%> 
<% Server.ScriptTimeout=99999999%> 
<!DOCTYPEhtmlPUBLIC"-//W3C//DTDXHTML1.0Transitional//EN""http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
<htmlxmlns="http://www.w3.org/1999/xhtml"> 
<head> 
<metahttp-equiv="Content-Type"content="text/html; charset=utf-8"/> 
<title>文件打包程序</title> 
</head>

<body> 
<%

Dim ZipPathDir, ZipPathFile 
Dim startime, endtime 
'在此更改要打包文件夹的路径 
ZipPathDir ="F:\www.yongfa365.com"' 
ZipPathFile ="update.xml" 
If Right(ZipPathDir,1)<>"\"Then ZipPathDir = ZipPathDir&"\" 
'开始打包 
CreateXml(ZipPathFile) 
'遍历目录内的所有文件以及文件夹

Sub LoadData(DirPath) 
Dim XmlDoc 
    Dim fso 'fso对象 
Dim objFolder '文件夹对象 
Dim objSubFolders '子文件夹集合 
Dim objSubFolder '子文件夹对象 
Dim objFiles '文件集合 
Dim objFile '文件对象 
Dim objStream 
    Dim pathname, TextStream, pp, Xfolder, Xfpath, Xfile, Xpath, Xstream 
    Dim PathNameStr 
    response.Write("=========="&DirPath&"==========<br>") 
Set fso = server.CreateObject("scripting.filesystemobject") 
Set objFolder = fso.GetFolder(DirPath)'创建文件夹对象

Response.Write DirPath 
    Response.flush

Set XmlDoc = Server.CreateObject("Microsoft.XMLDOM") 
    XmlDoc.load Server.MapPath(ZipPathFile) 
    XmlDoc.async =False

'写入每个文件夹路径 
Set Xfolder = XmlDoc.SelectSingleNode("//root").AppendChild(XmlDoc.CreateElement("folder")) 
Set Xfpath = Xfolder.AppendChild(XmlDoc.CreateElement("path")) 
    Xfpath.text = Replace(DirPath, ZipPathDir,"") 
Set objFiles = objFolder.Files 
    ForEach objFile in objFiles 
        If LCase(DirPath & objFile.Name)<> LCase(Request.ServerVariables("PATH_TRANSLATED"))Then 
            Response.Write "---<br/>" 
            PathNameStr = DirPath &""& objFile.Name 
            Response.Write PathNameStr &"" 
            Response.flush 
            '================================================ 
'写入文件的路径及文件内容 
Set Xfile = XmlDoc.SelectSingleNode("//root").AppendChild(XmlDoc.CreateElement("file")) 
Set Xpath = Xfile.AppendChild(XmlDoc.CreateElement("path")) 
            Xpath.text = Replace(PathNameStr, ZipPathDir,"") 
'创建文件流读入文件内容,并写入XML文件中 
Set objStream = Server.CreateObject("ADODB.Stream") 
            objStream.Type=1 
            objStream.Open() 
            objStream.LoadFromFile(PathNameStr) 
            objStream.position =0

Set Xstream = Xfile.AppendChild(XmlDoc.CreateElement("stream")) 
            Xstream.SetAttribute "xmlns:dt","urn:schemas-microsoft-com:datatypes" 
'文件内容采用二制方式存放 
            Xstream.dataType ="bin.base64" 
            Xstream.nodeTypedValue = objStream.Read()

Set objStream =Nothing 
Set Xpath =Nothing 
Set Xstream =Nothing 
Set Xfile =Nothing 
'================================================ 
EndIf 
Next 
    Response.Write "<p>" 
    XmlDoc.Save(Server.Mappath(ZipPathFile)) 
Set Xfpath =Nothing 
Set Xfolder =Nothing 
Set XmlDoc =Nothing

'创建的子文件夹对象 
Set objSubFolders = objFolder.SubFolders 
    '调用递归遍历子文件夹 
ForEach objSubFolder in objSubFolders 
        pathname = DirPath & objSubFolder.Name &"\" 
        LoadData(pathname) 
Next 
Set objFolder =Nothing 
Set objSubFolders =Nothing 
Set fso =Nothing

EndSub

'创建一个空的XML文件,为写入文件作准备

Sub CreateXml(FilePath) 
'程序开始执行时间 
    startime = Timer() 
Dim XmlDoc, Root 
    Set XmlDoc = Server.CreateObject("Microsoft.XMLDOM") 
    XmlDoc.async =False 
Set Root = XmlDoc.createProcessingInstruction("xml","version='1.0' encoding='UTF-8'") 
    XmlDoc.appendChild(Root) 
    XmlDoc.appendChild(XmlDoc.CreateElement("root")) 
    XmlDoc.Save(Server.MapPath(FilePath)) 
Set Root =Nothing 
Set XmlDoc =Nothing 
    LoadData(ZipPathDir) 
'程序结束时间 
    endtime = Timer() 
    response.Write("页面执行时间:"& FormatNumber((endtime - startime),3)&"秒") 
EndSub

%> 
</body> 
</html>

下边这个存为Install.asp,安装XML打包文件时运行


代码如下:

<%@LANGUAGE="VBSCRIPT" CODEPAGE="65001"%> 
<%OptionExplicit%> 
<%OnErrorResumeNext%> 
<% Response.Charset="UTF-8"%> 
<% Server.ScriptTimeout=99999999%> 
<!DOCTYPEhtmlPUBLIC"-//W3C//DTDXHTML1.0Transitional//EN""http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
<htmlxmlns="http://www.w3.org/1999/xhtml"> 
<head> 
<metahttp-equiv="Content-Type"content="text/html; charset=utf-8"/> 
<title>文件解包程序</title> 
</head>

<body> 
<% 
Dim strLocalPath 
'得到当前文件夹的物理路径 
strLocalPath = Left(Request.ServerVariables("PATH_TRANSLATED"), InStrRev(Request.ServerVariables("PATH_TRANSLATED"),"\"))

Dim objXmlFile 
Dim objNodeList 
Dim objFSO 
Dim objStream 
Dim i, j

Set objXmlFile = Server.CreateObject("Microsoft.XMLDOM") 
objXmlFile.load(Server.MapPath("update.xml"))

If objXmlFile.readyState =4Then 
If objXmlFile.parseError.errorCode =0Then

Set objNodeList = objXmlFile.documentElement.selectNodes("//folder/path") 
Set objFSO = CreateObject("Scripting.FileSystemObject")

j = objNodeList.Length -1 
For i =0To j 
            If objFSO.FolderExists(strLocalPath & objNodeList(i).text)=FalseThen 
                objFSO.CreateFolder(strLocalPath & objNodeList(i).text) 
EndIf 
            Response.Write "创建目录"& objNodeList(i).text &"<br/>" 
            Response.Flush 
        Next 
Set objFSO =Nothing 
Set objNodeList =Nothing 
Set objNodeList = objXmlFile.documentElement.selectNodes("//file/path")

j = objNodeList.Length -1 
For i =0To j 
            Set objStream = CreateObject("ADODB.Stream") 
With objStream 
                .Type=1 
.Open 
                .Write objNodeList(i).nextSibling.nodeTypedvalue 
                .SaveToFile strLocalPath & objNodeList(i).text,2 
                Response.Write "释放文件"& objNodeList(i).text &"<br/>" 
                Response.Flush 
                .Close 
            EndWith 
Set objStream =Nothing 
Next 
Set objNodeList =Nothing 
EndIf 
EndIf

Set objXmlFile =Nothing

response.Write "文件解包完毕" 
%> 
</body> 
</html>

(0)

相关推荐

  • asp源码打包成xml的工具

    下边这个存为Pack.asp,打包文件时运行 复制代码 代码如下: <%@LANGUAGE="VBSCRIPT" CODEPAGE="65001"%>  <%OptionExplicit%>  <%OnErrorResumeNext%>  <% Response.Charset="UTF-8"%>  <% Server.ScriptTimeout=99999999%>  <!DOC

  • 用asp实现把文件打包成Xml文件包,带解包的ASP工具附下载

    把文件打包成Xml文件包,带解包的ASP工具! 把网站源码全部打包到Xml文件里面,生成 updata.xml 文件,把xml文件上传到空间里面 然后通过 install.asp文件将文件全部释放出来. 就和z-blog的 自动安装包一样的功能呵呵. 代码是落伍的一位兄弟写的,不过代码好像有错误,这个是我参考他的 修改过了,可以正常运行!~~ 此代码可以应用到 asp程序的 自动升级服务上面.具体怎么来实现,欢迎探讨!~~ 就在下面回帖探讨!~~~ 不用设定打包目录版,需要设定打包目录版 这两个

  • Go源码字符串规范检查lint工具strchecker使用详解

    目录 1.背景 2.strchecker介绍 3.结论 1.背景 在大型项目开发过程中,经常会遇到打印大量日志,输出信息和在源码中写注释的情况.对于软件开发来说,我们一般都是打印输出英文的日志(主要考虑软件在各种环境下的兼容性,如果打印中文日志可能会出现乱码,另外英文日志更容易搜索,更容易后续做国际化),但是对于我们中国人来说,很容易就把中文全角的中文标点符号一不注意就写到日志中了.不过源码中的注释因为是完全面向开发者的,不会面向客户,所以如果研发团队全是中国人,那么代码注释用中文就更有效率.

  • jQuery源码解读之extend()与工具方法、实例方法详解

    本文实例讲述了jQuery源码解读之extend()与工具方法.实例方法.分享给大家供大家参考,具体如下: 使用jQuery的时候会发现,jQuery中有的函数是这样使用的: $.get(); $.post(); $.getJSON(); 有些函数是这样使用的: $('div').css(); $('ul').find('li'); 有些函数是这样使用的: $('li').each(callback); $.each(lis,callback); 这里涉及到两个概念:工具方法与实例方法.通常我们

  • 将易语言源码编译成软件的实操步骤

    对于很多易语言新手来说,不知道如何将自己的源码编译成可以直接运行的软件,我来给大家简单的来说介绍一下 不论你是自己写的源码还是,从网上下载的源码.都要选择正确的程序打开,所以打开方式一定要正确 打开之后再工具栏中找到编译栏打开 选择编译栏中的静态编译,鼠标左键单击 确定生成的软件要保存的位置,我这里选择保存到桌面方便查找 确定好文件位置后,设置一个文件名点击保存 然后我们返回桌面,查看EXE文件.双击打开运行查看软件的情况.可以正常运行的话,说明我们把源码编译成软件的过程成功了 以上就是本次介绍

  • 可以查询google排名的asp源码

    以下是源码,请命名为.ASP文件. 复制代码 代码如下: <meta http-equiv="Content-Type" content="text/html; charset=gb2312">  <%  if request("action") = "1" then   word = request("word")   url = request("url")   i

  • Asp.Net平台下的图片在线裁剪功能的实现代码(源码打包)

    1.前台展现实现 网上找到这个jquery.Jcrop,稍看了下,发现它提供的效果完全能满足项目需求. 官方网址:http://deepliquid.com/content/Jcrop.html,感兴趣的朋友可去看看. 页面先引用相关样式和脚本: 复制代码 代码如下: <link href="Styles/jquery.Jcrop.css" rel="stylesheet" type="text/css" /> <script

  • 通过客户端验证上传图片文件大小的ASP源码

    <%@Language=JScript @CodePage=936%>  <Script Language=JScript RunAt=Server>  /****************************************************************\  <lostinet:source xmlns:lostinet="lostinet-d2g-com/source">   <lostinet:source-i

  • javascript简易缓动插件(源码打包)

    要求如下: 可以开始.暂停(线性.非线性tween都支持).继续.结束 支持多个样式并行 最好不依赖于某个框架下运行 文件尺寸越小越好 他找了一下现有的一些插件或者库,鲜有能满足或者比较均衡的,我在这个要求下,写了一个比较简陋的动画组件,基本满足了这个需求.先上代码 在线演示:http://demo.jb51.net/js/2012/animate/打包下载:animate_jquery.rarhtml部分: 复制代码 代码如下: <!DOCTYPE html> <html> &l

  • 在IE和VB中支持png图片透明效果的实现方法(vb源码打包)

    1,使用js文件使IE支持png图片透明效果. pngfix.js: 复制代码 代码如下: var arVersion = navigator.appVersion.split("MSIE") var version = parseFloat(arVersion[1]) function fixPNG(myImage) { if ((version >= 5.5) && (version < 7) && (document.body.filt

随机推荐