rar实现asp的在线压缩与解压缩
前提:
需要wscript支持
你将cmd.exe和winrar文件夹中rar.exe都放到同一个文件夹里
而且这个文件夹取名叫"dos",要不然你自己修改代码文件也成;
(主要是方便,我自己也很懒的,呵呵)
文件保存为同名的文件哦
自解压代码文件
unrar.asp
<%
dim afterunzip,PEDM,Mlpath,Shell,rarcomm,RetCode,cmd,comm,fso
unfilepath=Request.ServerVariables("PATH_INFO")
<|>response.write Mlpath
<|>response.end
<|>存放RAR.EXE和CMD.EXE的路径
Mlpath=Replace(Server.mappath(unfilepath),"unrar.asp","")
<|>解压文件后所放的路径
afterunzip=Server.mappath("dos")&"\"
<|>afterunzip=Mlpath
<|>要解压的RAR文件
PEDM=Server.mappath("aaa.rar")
Set Shell = Server.CreateObject("WScript.Shell")
<|>x从档案文件中全路径释放文件
<|>t压缩后测试文件
<|>o不覆盖已经存在的文件
<|>p设置口令
rarcomm= Mlpath&"cmd.exe /c "&Mlpath&"rar.exe x -t -o+ -p- "
cmd=rarcomm&PEDM&" "&afterunzip
RetCode = Shell.Run(cmd,1, True)
%>
<|><|><|><|><|><|><|><|><|><|><|><|>压缩文件代码
rar.asp
<%
dim ylj,ywj,Mlpath,Shell,rarcomm,RetCode,cmd,comm,fso
unfilepath=Request.ServerVariables("PATH_INFO")
<|>response.write Mlpath
<|>response.end
<|>存放RAR.EXE和CMD.EXE的路径
Mlpath=Replace(Server.mappath(unfilepath),"rar.asp","")
<|>压缩文件后所放的路径
afterzip=Server.mappath("dos")&"\"
<|>ylj=Mlpath
<|>要压缩的RAR文件
needzip=Server.mappath("aaaw.rar")
Set Shell = Server.CreateObject("WScript.Shell")
<|>x从档案文件中全路径释放文件
<|>t压缩后测试文件
<|>o不覆盖已经存在的文件
<|>p设置口令
rarcomm= Mlpath&"cmd.exe /c "&Mlpath&"rar.exe a -o+ "
cmd=rarcomm&needzip&" "&afterzip
<|>Response.write cmd
<|>Response.end
RetCode = Shell.Run(cmd,1, True)
%>
要改成winzip的自己改吧,提供命令行参考:
WinRAR<命令>-<开关><压缩包><文件...><解压缩路径>
压缩与解压缩操作举例
下面我们通过例子,对比一下Winzip和Winrar的基本压缩与解压缩操作命令。假设压缩包文件名为test.zip和test.rar。
任务描述
Winzip Winrar
压缩目录test及其子目录的文件内容
Wzzip test.zip test –r -P
WINRAR A test.rar test –r
删除压缩包中的*.txt文件
Wzzip test.zip *.txt -d
WinRAR d test.rar *.txt
刷新压缩包中的文件,即添加已经存在于压缩包中但更新的文件
Wzzip test.zip test –f
Winrar f test.rar test
更新压缩包中的文件,即添加已经存在于压缩包中但更新的文件以及新文件
Wzzip test.zip test –u
Winrar u test.rar test
移动文件到压缩包,即添加文件到压缩包后再删除被压缩的文件
Wzzip test.zip –r –P –m
Winrar m test.rar test –r
添加全部 *.exe 文件到压缩文件,但排除有 a或b 开头名称的文件
Wzzip test *.exe -xf*.* -xb*.*
WinRAR a test *.exe -xf*.* -xb*.*
加密码进行压缩
Wzzip test.zip test –s123。注意密码是大小写敏感的。在图形界面下打开带密码的压缩文件,会看到+号标记(附图1)。
WINRAR A test.rar test –p123 –r。注意密码是大小写敏感的。在图形界面下打开带密码的压缩文件,会看到*号标记(附图2)。
按名字排序、以简要方式列表显示压缩包文件
Wzzip test.zip -vbn
Rar l test.rar
锁定压缩包,即防止未来对压缩包的任何修改
无对应命令
Winrar k test.rar
创建360kb大小的分卷压缩包
无对应命令
Winrar a –v360 test
带子目录信息解压缩文件
Wzunzip test -d
Winrar x test -r
不带子目录信息解压缩文件
Wzunzip test
Winrar e test
解压缩文件到指定目录,如果目录不存在,自动创建
Wzunzip test newfolder\
Winrar x test newfolder\
解压缩文件并确认覆盖文件
Wzunzip test -y
Winrar x test –y
解压缩特定文件
Wzunzip test *.txt
Winrar x test *.txt
解压缩现有文件的更新文件
Wzunzip test –f
Winrar x test –f
解压缩现有文件的更新文件及新文件
Wzunzip test -n
Winrar x test -u
批量解压缩文件
Wzunzip *.zip
WinRAR e *.rar
需要wscript支持
你将cmd.exe和winrar文件夹中rar.exe都放到同一个文件夹里
而且这个文件夹取名叫"dos",要不然你自己修改代码文件也成;
(主要是方便,我自己也很懒的,呵呵)
文件保存为同名的文件哦
自解压代码文件
unrar.asp
<%
dim afterunzip,PEDM,Mlpath,Shell,rarcomm,RetCode,cmd,comm,fso
unfilepath=Request.ServerVariables("PATH_INFO")
<|>response.write Mlpath
<|>response.end
<|>存放RAR.EXE和CMD.EXE的路径
Mlpath=Replace(Server.mappath(unfilepath),"unrar.asp","")
<|>解压文件后所放的路径
afterunzip=Server.mappath("dos")&"\"
<|>afterunzip=Mlpath
<|>要解压的RAR文件
PEDM=Server.mappath("aaa.rar")
Set Shell = Server.CreateObject("WScript.Shell")
<|>x从档案文件中全路径释放文件
<|>t压缩后测试文件
<|>o不覆盖已经存在的文件
<|>p设置口令
rarcomm= Mlpath&"cmd.exe /c "&Mlpath&"rar.exe x -t -o+ -p- "
cmd=rarcomm&PEDM&" "&afterunzip
RetCode = Shell.Run(cmd,1, True)
%>
<|><|><|><|><|><|><|><|><|><|><|><|>压缩文件代码
rar.asp
<%
dim ylj,ywj,Mlpath,Shell,rarcomm,RetCode,cmd,comm,fso
unfilepath=Request.ServerVariables("PATH_INFO")
<|>response.write Mlpath
<|>response.end
<|>存放RAR.EXE和CMD.EXE的路径
Mlpath=Replace(Server.mappath(unfilepath),"rar.asp","")
<|>压缩文件后所放的路径
afterzip=Server.mappath("dos")&"\"
<|>ylj=Mlpath
<|>要压缩的RAR文件
needzip=Server.mappath("aaaw.rar")
Set Shell = Server.CreateObject("WScript.Shell")
<|>x从档案文件中全路径释放文件
<|>t压缩后测试文件
<|>o不覆盖已经存在的文件
<|>p设置口令
rarcomm= Mlpath&"cmd.exe /c "&Mlpath&"rar.exe a -o+ "
cmd=rarcomm&needzip&" "&afterzip
<|>Response.write cmd
<|>Response.end
RetCode = Shell.Run(cmd,1, True)
%>
要改成winzip的自己改吧,提供命令行参考:
WinRAR<命令>-<开关><压缩包><文件...><解压缩路径>
压缩与解压缩操作举例
下面我们通过例子,对比一下Winzip和Winrar的基本压缩与解压缩操作命令。假设压缩包文件名为test.zip和test.rar。
任务描述
Winzip Winrar
压缩目录test及其子目录的文件内容
Wzzip test.zip test –r -P
WINRAR A test.rar test –r
删除压缩包中的*.txt文件
Wzzip test.zip *.txt -d
WinRAR d test.rar *.txt
刷新压缩包中的文件,即添加已经存在于压缩包中但更新的文件
Wzzip test.zip test –f
Winrar f test.rar test
更新压缩包中的文件,即添加已经存在于压缩包中但更新的文件以及新文件
Wzzip test.zip test –u
Winrar u test.rar test
移动文件到压缩包,即添加文件到压缩包后再删除被压缩的文件
Wzzip test.zip –r –P –m
Winrar m test.rar test –r
添加全部 *.exe 文件到压缩文件,但排除有 a或b 开头名称的文件
Wzzip test *.exe -xf*.* -xb*.*
WinRAR a test *.exe -xf*.* -xb*.*
加密码进行压缩
Wzzip test.zip test –s123。注意密码是大小写敏感的。在图形界面下打开带密码的压缩文件,会看到+号标记(附图1)。
WINRAR A test.rar test –p123 –r。注意密码是大小写敏感的。在图形界面下打开带密码的压缩文件,会看到*号标记(附图2)。
按名字排序、以简要方式列表显示压缩包文件
Wzzip test.zip -vbn
Rar l test.rar
锁定压缩包,即防止未来对压缩包的任何修改
无对应命令
Winrar k test.rar
创建360kb大小的分卷压缩包
无对应命令
Winrar a –v360 test
带子目录信息解压缩文件
Wzunzip test -d
Winrar x test -r
不带子目录信息解压缩文件
Wzunzip test
Winrar e test
解压缩文件到指定目录,如果目录不存在,自动创建
Wzunzip test newfolder\
Winrar x test newfolder\
解压缩文件并确认覆盖文件
Wzunzip test -y
Winrar x test –y
解压缩特定文件
Wzunzip test *.txt
Winrar x test *.txt
解压缩现有文件的更新文件
Wzunzip test –f
Winrar x test –f
解压缩现有文件的更新文件及新文件
Wzunzip test -n
Winrar x test -u
批量解压缩文件
Wzunzip *.zip
WinRAR e *.rar