rar實現asp的在線壓縮與解壓縮
作者:tank 日期:2007-02-15
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")
'存放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")
'存放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+ -ep"
cmd=rarcomm&afterzip&" "&needrzip
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