La herramienta de empaquetado de código fuente xml asp de Liu Yongfa está empaquetada en un archivo xml separado. Puede instalarlo directamente en el servidor y guardarlo como Pack.asp. Ejecútelo al empaquetar el archivo.
Copie el código de código de la siguiente manera:
<%@LANGUAGE=PÁGINA DE CÓDIGOS VBSCRIPT=65001%>
<%OpciónExplícita%>
<%OnErrorResumeNext%>
<% Respuesta.Charset=UTF-8%>
<% Servidor.ScriptTimeout=99999999%>
<!DOCTYPEhtmlPUBLIC-//W3C//DTDXHTML1.0Transitional//EShttp://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd>
<htmlxmlns=http://www.w3.org/1999/xhtml>
<cabeza>
<metahttp-equiv=Content-Typecontent=text/html;charset=utf-8/>;
<title>Programa de empaquetado de archivos</title>
</cabeza>
<cuerpo>
<%
Atenuar ZipPathDir, ZipPathFile
Hora de inicio tenue, hora de finalización
'Cambie la ruta de la carpeta que se empaquetará aquí
ZipPathDir =F:/www.yongfa365.com'
Archivo ZipPath=actualización.xml
Si es correcto(ZipPathDir,1)<>/Entonces ZipPathDir = ZipPathDir&/
'Comienza a empacar
CrearXml (archivo ZipPath)
'Recorre todos los archivos y carpetas del directorio
Datos de carga secundaria (DirPath)
DimXmlDoc
Objeto fso 'fso tenue
Dim objFolder 'Objeto de carpeta
Dim objSubFolders 'Colección de subcarpetas
Dim objSubFolder 'Objeto de subcarpeta
Dim objFiles 'Colección de archivos
Dim objFile 'Objeto de archivo
Dim objStream
Nombre de ruta tenue, TextStream, pp, Xfolder, Xfpath, Xfile, Xpath, Xstream
DimPathNameStr
respuesta.Write(==========&DirPath&==========<br>)
Establecer fso = servidor.CreateObject(scripting.filesystemobject)
Establecer objFolder = fso.GetFolder(DirPath)'Crear un objeto de carpeta
Respuesta.Escribir DirPath
Respuesta.flush
Establecer XmlDoc = Server.CreateObject(Microsoft.XMLDOM)
XmlDoc.load Server.MapPath (archivo ZipPath)
XmlDoc.async =Falso
'Escribe la ruta de cada carpeta
Establecer Xfolder = XmlDoc.SelectSingleNode(//root).AppendChild(XmlDoc.CreateElement(carpeta))
Establecer Xfpath = Xfolder.AppendChild(XmlDoc.CreateElement(ruta))
Xfpath.text = Reemplazar (DirPath, ZipPathDir,)
Establecer objFiles = objFolder.Files
Para cada archivo obj en archivos obj
Si LCase(DirPath & objFile.Name)<> LCase(Request.ServerVariables(PATH_TRANSLATED))Entonces
Respuesta.Escribir ---<br/>
PathNameStr = DirPath && objFile.Name
Respuesta.Escribir PathNameStr &
Respuesta.flush
'==================================================
'Escribe la ruta y el contenido del archivo
Establecer Xfile = XmlDoc.SelectSingleNode(//root).AppendChild(XmlDoc.CreateElement(archivo))
Establecer Xpath = Xfile.AppendChild(XmlDoc.CreateElement(ruta))
Xpath.text = Reemplazar (PathNameStr, ZipPathDir,)
'Crea una secuencia de archivos para leer el contenido del archivo y escribirlo en el archivo XML
Establecer objStream = Server.CreateObject(ADODB.Stream)
objStream.Type=1
objStream.Open()
objStream.LoadFromFile(PathNameStr)
objStream.posición =0
Establecer Xstream = Xfile.AppendChild(XmlDoc.CreateElement(flujo))
Xstream.SetAttribute xmlns:dt,urn:schemas-microsoft-com:tipos de datos
'El contenido del archivo se almacena en modo binario
Xstream.tipo de datos =bin.base64
Xstream.nodeTypedValue = objStream.Read()
Establecer objStream = Nada
Establecer XPath = Nada
Establecer Xstream = Nada
Establecer Xfile=Nada
'==================================================
Fin si
Próximo
Respuesta.Escribir <p>
XmlDoc.Save(Servidor.Mapppath(ZipPathFile))
Establecer Xfpath = Nada
Establecer carpeta X = Nada
Establecer XmlDoc = Nada
'Objeto de subcarpeta creado
Establecer objSubFolders = objFolder.SubFolders
'Llamada a través de subcarpetas recursivamente
Para cada objSubFolder en objSubFolders
nombre de ruta = DirPath & objSubFolder.Name &/
LoadData(nombre de ruta)
Próximo
Establecer objFolder = Nada
Establecer objSubFolders = Nada
Establecer fso=Nada
FinSub
'Crea un archivo XML vacío para prepararse para escribir en el archivo
SubCreateXml(RutaDeArchivo)
'Tiempo de ejecución de inicio del programa
hora de inicio = Temporizador()
Dim XmlDoc, raíz
Establecer XmlDoc = Server.CreateObject(Microsoft.XMLDOM)
XmlDoc.async =Falso
Establecer raíz = XmlDoc.createProcessingInstruction(xml,version='1.0' codificación='UTF-8')
XmlDoc.appendChild(Raíz)
XmlDoc.appendChild(XmlDoc.CreateElement(raíz))
XmlDoc.Save(Servidor.MapPath(RutaDeArchivo))
Establecer raíz = Nada
Establecer XmlDoc = Nada
Cargar datos (ZipPathDir)
'Hora de finalización del programa
hora de finalización = Temporizador()
respuesta.Escribir(Tiempo de ejecución de la página: & FormatNumber((hora de finalización - hora de inicio),3)& segundos)
FinSub
%>
</cuerpo>
</html>
Guarde lo siguiente como Install.asp y ejecútelo al instalar el archivo de empaquetado XML.
Copie el código de código de la siguiente manera:
<%@LANGUAGE=PÁGINA DE CÓDIGOS VBSCRIPT=65001%>
<%OpciónExplícita%>
<%OnErrorResumeNext%>
<% Respuesta.Charset=UTF-8%>
<% Servidor.ScriptTimeout=99999999%>
<!DOCTYPEhtmlPUBLIC-//W3C//DTDXHTML1.0Transitional//EShttp://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd>
<htmlxmlns=http://www.w3.org/1999/xhtml>
<cabeza>
<metahttp-equiv=Content-Typecontent=text/html;charset=utf-8/>;
<title>Descomprimidor de archivos</title>
</cabeza>
<cuerpo>
<%
Dim strLocalPath
'Obtener la ruta física de la carpeta actual
strLocalPath = Left(Request.ServerVariables(PATH_TRANSLATED), InStrRev(Request.ServerVariables(PATH_TRANSLATED),/))
Dim objXmlFile
Lista de nodos obj tenue
objeto oscuroFSO
Dim objStream
tenue i, j
Establecer objXmlFile = Server.CreateObject(Microsoft.XMLDOM)
objXmlFile.load(Servidor.MapPath(actualización.xml))
Si objXmlFile.readyState =4Entonces
Si objXmlFile.parseError.errorCode =0Entonces
Establecer objNodeList = objXmlFile.documentElement.selectNodes(//carpeta/ruta)
Establecer objFSO = CreateObject(Scripting.FileSystemObject)
j = objNodeList.Longitud -1
Para i =0A j
Si objFSO.FolderExists(strLocalPath & objNodeList(i).text)=FalseThen
objFSO.CreateFolder(strLocalPath y objNodeList(i).text)
Fin si
Response.Write crea el directorio & objNodeList(i).text &<br/>
Respuesta.Flush
Próximo
Establecer objFSO = Nada
Establecer objNodeList = Nada
Establecer objNodeList = objXmlFile.documentElement.selectNodes(//archivo/ruta)
j = objNodeList.Longitud -1
Para i =0A j
Establecer objStream = CreateObject(ADODB.Stream)
Con objStream
.Tipo=1
.Abierto
.Escribir objNodeList(i).nextSibling.nodeTypedvalue
.SaveToFile strLocalPath y objNodeList(i).text,2
Response.Write libera el archivo & objNodeList(i).text &<br/>
Respuesta.Flush
.Cerca
terminar con
Establecer objStream = Nada
Próximo
Establecer objNodeList = Nada
Fin si
Fin si
Establecer objXmlFile = Nada
respuesta.Escribir archivo descomprimido completado
%>
</cuerpo>
</html>