WEB开发网
开发学院WEB开发ASP 讲解在线压缩和解压缩的ASP实现方法 阅读

讲解在线压缩和解压缩的ASP实现方法

 2007-12-12 08:57:03 来源:WEB开发网   
核心提示: 在线压缩/在线解压缩是一个很实用的东东,今天就为大家实例讲解一下如何用ASP来实现:<% ’\\\ ’\\ ’\\1. c:\windows\system32\cmd.exe ’\\ 拷贝把本文件所在的路径 ’\\ ’\\2. 把 c:\program\winrar\rar.exe ’\\ 拷贝把本文件所在的

   在线压缩/在线解压缩是一个很实用的东东,今天就为大家实例讲解一下如何用ASP来实现:

<%
’\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\
’\\
’\\  1. c:\windows\system32\cmd.exe
’\\    拷贝把本文件所在的路径
’\\
’\\  2. 把 c:\program\winrar\rar.exe
’\\    拷贝把本文件所在的路径 并改名为WinRAR.exe
’\\
’\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\
’\\
’\\  compressPath(byVal s)
’\\  压缩文件的路径 | 字符串变体
’\\
’\\  decompressPath(byVal s)
’\\  解压缩文件的文件夹 | 字符串变体
’\\
’\\  compress
’\\  在线压缩
’\\
’\\  decompress
’\\  在线解压缩
’\\
’\\  POWER BY MIRACLE (BLUEDESTINY)
’\\
’\\  EMAIL : Bluedestiny[at]126.com
’\\
’\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\

OPTION EXPLICIT

class COMPRESS_DECOMPRESS_FILES

 private version, copyright
 private oWshShell, oFso
 private sCompressPath, sDecompressPath 

 private sub class_initialize
 version="COMPRESS_DECOMPRESS_FILES BUILDER 20051015"
 copyright="POWER BY MIRACLE (BLUEDESTINY)"
 Set oFso=server.CreateObject("scripting.FileSystemObject")
 Set oWshShell=server.CreateObject("Wscript.Shell")
 writeLn(version+"<br>"+copyright)
 end Sub
 private sub class_terminate
 if isobject(oWshShell) then set oWshShell=nothing
 if isobject(oFso) then set oFso=nothing
 end Sub
 private function physicalPath(byVal s)
 physicalPath=server.mappath(s)
 end Function
 private sub validateFile(byVal s)
 if oFso.FileExists(s) then exit sub
 if oFso.FolderExists(s) then exit sub
 callErr "file(folder) not exists!"
 end Sub
 private sub createFolder(byVal s)
 if oFso.FolderExists(s) then exit Sub
 oFso.createFolder(s)
 end Sub
 private sub writeLn(byVal s)
 response.write "<p>" + s + "</p>" + vbCrlf
 end Sub
 private sub callErr(byVal s)
 writeLn "<p><b>ERROR:</b></p>" + s
 response.End
 end sub
 private sub callSucc(byVal s)
 writeLn "<p><b>SUCCESS:</b></p>" + s
 end Sub

 public sub compress
 validateFile(sCompressPath)
 oWshShell.run("WinRAR A " + sCompressPath + " " + sDecompressPath & "")
 if Err.number>0 then callErr("compress lost!")
 callSucc("compress <b>" + sDecompressPath + "</b> to <b>" + sCompressPath + ".rar</b> successfully!")
 end Sub
 public sub decompress
 validateFile(sCompressPath)
 createFolder(sDecompressPath)
 oWshShell.run("WinRAR X " + sCompressPath + " " + sDecompressPath & "")
 if Err.number>0 then callErr("decompress lost!")
 callSucc("decompress <b>" + sCompressPath + ".rar</b> to <b>" + sDecompressPath + "</b> successfully!")
 end sub

 public property Let compressPath(byVal s)
 sCompressPath=physicalPath(s)
 end property
 public property Let decompressPath(byVal s)
 sDecompressPath=physicalPath(s)
 end property

End class
%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
<TITLE> New Document </TITLE>
<META NAME="Generator" CONTENT="EditPlus">
<META NAME="Author" CONTENT="">
<META NAME="Keywords" CONTENT="">
<META NAME="Description" CONTENT="">
<style>
* {
 font-size:10.2pt;
 font-family:tahoma;
}
</style>
</HEAD>

<BODY>
<%
’\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\
’\\
’\\  设有压缩文件 compress.rar
’\\  需压缩文件 decompressFolder 文件夹
’\\
’\\  将 compress.rar 解压缩至 1 文件夹
’\\  将 decompressFolder 文件夹 压缩至 2.rar 
’\\
’\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\

dim oExample

set oExample=new COMPRESS_DECOMPRESS_FILES
oExample.compressPath="decompressFolder"
oExample.decompresspath="1"
oExample.compress

oExample.compressPath="compress"
oExample.decompresspath="2"
oExample.decompress

set oExample=nothing
%>
</BODY>
</HTML>

技术交流 永无止境

Tags:讲解 在线 压缩

编辑录入:coldstar [复制链接] [打 印]
赞助商链接