A ferramenta de empacotamento de código-fonte xml asp de Liu Yongfa é empacotada em um arquivo xml separado. Você pode instalá-lo diretamente no servidor e salvá-lo como Pack.asp.
Copie o código do código da seguinte forma:
<%@LANGUAGE=PÁGINA DE CÓDIGO VBSCRIPT=65001%>
<%OptionExplicit%>
<%OnErrorResumeNext%>
<% Response.Charset=UTF-8%>
<% Servidor.ScriptTimeout=99999999%>
<!DOCTYPEhtmlPUBLIC-//W3C//DTDXHTML1.0Transitional//ENhttp://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd>
<htmlxmlns=http://www.w3.org/1999/xhtml>
<cabeça>
<metahttp-equiv=Content-Typecontent=text/html;charset=utf-8/>
<title>Programa de empacotamento de arquivos</title>
</head>
<corpo>
<%
Dim ZipPathDir, ZipPathFile
Diminuir horário de início, horário de término
'Altere aqui o caminho da pasta a ser empacotada
ZipPathDir =F:/www.yongfa365.com'
ZipPathFile = atualização.xml
If Right(ZipPathDir,1)<>/Então ZipPathDir = ZipPathDir&/
'Comece a fazer as malas
CriarXml(ZipPathArquivo)
'Percorre todos os arquivos e pastas do diretório
Sub LoadData (DirPath)
DimXmlDoc
Dim fso 'objeto fso
Dim objFolder 'Objeto pasta
Dim objSubFolders 'Coleção de subpastas
Dim objSubFolder 'Objeto subpasta
Dim objFiles 'Coleção de arquivos
Dim objFile 'Objeto arquivo
Dim objStream
Dim nome do caminho, TextStream, pp, Xfolder, Xfpath, Xfile, Xpath, Xstream
DimPathNameStr
resposta.Write(==========&DirPath&==========<br>)
Definir fso = server.CreateObject(scripting.filesystemobject)
Set objFolder = fso.GetFolder(DirPath)'Crie um objeto de pasta
Resposta.Write DirPath
Resposta.flush
Definir XmlDoc = Server.CreateObject(Microsoft.XMLDOM)
XmlDoc.load Servidor.MapPath(ZipPathFile)
XmlDoc.async=Falso
'Escreve o caminho de cada pasta
Definir Xfolder = XmlDoc.SelectSingleNode(//root).AppendChild(XmlDoc.CreateElement(pasta))
Definir Xfpath = Xfolder.AppendChild(XmlDoc.CreateElement(caminho))
Xfpath.text = Substituir(DirPath, ZipPathDir,)
Definir objFiles = objFolder.Files
ForEach objFile em objFiles
Se LCase(DirPath & objFile.Name)<> LCase(Request.ServerVariables(PATH_TRANSLATED))Então
Resposta.Escrever ---<br/>
PathNameStr = DirPath && objFile.Name
Response.Write PathNameStr &
Resposta.flush
'===============================================
'Escreve o caminho e o conteúdo do arquivo
Definir Xfile = XmlDoc.SelectSingleNode(//root).AppendChild(XmlDoc.CreateElement(arquivo))
Definir Xpath = Xfile.AppendChild(XmlDoc.CreateElement(caminho))
Xpath.text = Substituir(PathNameStr, ZipPathDir,)
'Cria um fluxo de arquivo para ler o conteúdo do arquivo e gravá-lo no arquivo XML
Definir objStream = Server.CreateObject(ADODB.Stream)
objStream.Type=1
objStream.Open()
objStream.LoadFromFile(PathNameStr)
objStream.posição = 0
Definir Xstream = Xfile.AppendChild(XmlDoc.CreateElement(stream))
Xstream.SetAttribute xmlns:dt,urn:schemas-microsoft-com:datatypes
'O conteúdo do arquivo é armazenado em modo binário
Xstream.dataType=bin.base64
Xstream.nodeTypedValue = objStream.Read()
Definir objStream =Nada
Definir Xpath =Nada
Definir Xstream =Nada
Definir Xfile=Nada
'===============================================
FimSe
Próximo
Resposta.Escrever <p>
XmlDoc.Save(Server.Mappath(ZipPathFile))
Definir Xfpath =Nada
Definir pasta X = nada
Definir XmlDoc =Nada
'Objeto de subpasta criado
Definir objSubFolders = objFolder.SubFolders
'Chama recursivamente para percorrer subpastas
ForEach objSubFolder em objSubFolders
nome do caminho = DirPath & objSubFolder.Name &/
LoadData(nome do caminho)
Próximo
Definir objFolder =Nada
Definir objSubFolders =Nada
Definir fso=Nada
Fim Sub
'Cria um arquivo XML vazio para preparar a gravação no arquivo
SubCreateXml(FilePath)
'Tempo de execução do início do programa
horário de início = Temporizador()
Dim XmlDoc, Raiz
Definir XmlDoc = Server.CreateObject(Microsoft.XMLDOM)
XmlDoc.async=Falso
Definir raiz = XmlDoc.createProcessingInstruction(xml,version='1.0' encoding='UTF-8')
XmlDoc.appendChild(Raiz)
XmlDoc.appendChild(XmlDoc.CreateElement(raiz))
XmlDoc.Save(Server.MapPath(FilePath))
Definir raiz = nada
Definir XmlDoc =Nada
CarregarDados(ZipPathDir)
'Hora de término do programa
hora final = Temporizador()
response.Write(Tempo de execução da página: & FormatNumber((endtime - starttime),3)& segundos)
Fim Sub
%>
</body>
</html>
Salve o seguinte como Install.asp e execute-o ao instalar o arquivo de empacotamento XML.
Copie o código do código da seguinte forma:
<%@LANGUAGE=PÁGINA DE CÓDIGO VBSCRIPT=65001%>
<%OptionExplicit%>
<%OnErrorResumeNext%>
<% Response.Charset=UTF-8%>
<% Servidor.ScriptTimeout=99999999%>
<!DOCTYPEhtmlPUBLIC-//W3C//DTDXHTML1.0Transitional//ENhttp://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd>
<htmlxmlns=http://www.w3.org/1999/xhtml>
<cabeça>
<metahttp-equiv=Content-Typecontent=text/html;charset=utf-8/>
<title>Descompactador de arquivos</title>
</head>
<corpo>
<%
Dim strLocalPath
'Obtém o caminho físico da pasta atual
strLocalPath = Left(Request.ServerVariables(PATH_TRANSLATED), InStrRev(Request.ServerVariables(PATH_TRANSLATED),/))
Dim objXmlFile
Dim objNodeList
Dim objFSO
Dim objStream
Dim eu, j
Definir objXmlFile = Server.CreateObject(Microsoft.XMLDOM)
objXmlFile.load(Server.MapPath(update.xml))
Se objXmlFile.readyState = 4Então
Se objXmlFile.parseError.errorCode = 0Então
Definir objNodeList = objXmlFile.documentElement.selectNodes(//pasta/caminho)
Definir objFSO = CreateObject(Scripting.FileSystemObject)
j = objNodeList.Comprimento -1
Para eu =0Para j
Se objFSO.FolderExists(strLocalPath & objNodeList(i).text)=FalseThen
objFSO.CreateFolder(strLocalPath & objNodeList(i).text)
FimSe
Response.Write cria diretório & objNodeList(i).text &<br/>
Resposta.Flush
Próximo
Definir objFSO =Nada
Definir objNodeList =Nada
Definir objNodeList = objXmlFile.documentElement.selectNodes(//arquivo/caminho)
j = objNodeList.Comprimento -1
Para eu =0Para j
Definir objStream = CreateObject(ADODB.Stream)
Com objStream
.Tipo=1
.Abrir
.Escreva objNodeList(i).nextSibling.nodeTypedvalue
.SaveToFile strLocalPath & objNodeList(i).text,2
Response.Write libera arquivo & objNodeList(i).text &<br/>
Resposta.Flush
.Fechar
Terminar com
Definir objStream =Nada
Próximo
Definir objNodeList =Nada
FimSe
FimSe
Definir objXmlFile =Nada
resposta. Descompactação do arquivo Write concluída
%>
</body>
</html>