rar實現asp的在線壓縮與解壓縮

穩萊

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
 
 

 給當前日誌評分:
Loading Vote
正在讀取評分資料...


文章來自: Tank部落格
引用通告: 查看所有引用 | 我要引用此文章
Tags: rar
相關日誌:

評論: 0 | 引用: 0 | 查看次數: -
發表評論
暱 稱:
密 碼: 遊客發言不需要密碼.
內 容:
驗證碼: 驗證碼
選 項:
雖然發表評論不用註冊,但是為了保護您的發言權,建議您註冊帳號.