ASP在线压缩RAR文件

1.要壓中文檔名,須下載中文版WinRAR,安裝後,再將其中的rar.exe複製出來 2.網路執行,必須將rar.exe與被壓縮的檔案(或資料夾)置於相同目錄下 (網路執行壓縮不支援相對路徑,如果使用絕對路徑,壓出來的檔案,會按照絕對路徑一層一層壓進去) 3.下載並註冊,線上執行Server端外部程式的元件:ASPEXEC(免費元件) 4.透過ASPEXEC執行→bat檔→rar.exe(如此才能壓縮出正確路徑的壓縮檔) 例:壓縮d:/tmp/tmp_a/tmp_b資料夾中的所有子資料夾及檔案(含長中文檔名看看) 方法: 1.將rar.exe複製到d:/tmp/tmp_a/下,也就是與tmp_b同層目錄 2.建立bat檔放在哪裏無所謂,就放在D:/addzip.bat(addzip.bat內容如下), D: cd tmp/tmp_a rar.exe a -r tmp_b.zip tmp_b 3.ASP程式碼 '利用ASPExec元件執行壓縮------------------------------------- set Executor = Server.CreateObject("ASPExec.Execute") Executor.Application = "d:/addzip.bat" strResult = Executor.ExecuteDosApp Response.Write "<pre>" & strResult & "</pre>" Set Executor = Nothing PS:正常寫法應該是如下,但不支援相對路徑,而如果使用絕對路徑,則壓縮檔內容,就會把所有路徑資料夾都包進去。 '利用ASPExec元件執行壓縮------------------------------------- set Executor = Server.CreateObject("ASPExec.Execute") Executor.Application = "d:/tmp/tmpa/rar.exe" Executor.Parameters = " a -r tmp_b.zip tmp_b" (使用相對路徑,完全無法執行) Executor.Parameters = " a -r d:/tmp/tmp_a/tmp_b/tmp_b.zip d:/tmp/tmp_a/tmp_b/tmp_b"(使用絕對路徑,可以執行,但多了tmp及tmp_a空資料夾) strResult = Executor.ExecuteDosApp Response.Write "<pre>" & strResult & "</pre>" Set Executor = Nothing ============================================================ 補充說明: 今日測試線上壓縮時,遇到被壓縮的資料夾中又包含另一個.zip檔,結果可以壓縮成功,但無法解壓,總是出現「多重壓縮損毀...」的問題。 後來將壓縮檔改成rar格式,就順利解決,所以上面範例的bat檔內容建議 改成:(tmp_b.zip-->tmp_b.rar ) D: cd tmp/tmp_a rar.exe a -r tmp_b.rar tmp_b

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

紫气东来_999

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值