5
A
回答
2
- 檢查Compress Zip files with Windows Shell API and C#
- 你可以使用SharpZipLib這 是免費的,一個點網項目。
5
您可以使用此的VBScript腳本:
'Adapted from http://www.robvanderwoude.com/vbstech_files_zip.html
strFile = "c:\filename.zip"
strDest = "c:\files"
Set objFSO = CreateObject("Scripting.FileSystemObject")
If Not objFSO.FolderExists(strDest) Then
objFSO.CreateFolder(strDest)
End If
UnZipFile strFile, strDest
Sub UnZipFile(strArchive, strDest)
Set objApp = CreateObject("Shell.Application")
Set objArchive = objApp.NameSpace(strArchive).Items()
Set objDest = objApp.NameSpace(strDest)
objDest.CopyHere objArchive
End Sub
0
我的Excel 2010下試過上述功能Sub UnZipFile(...)
,這是不工作:運行時錯誤「91」(對象變量或With塊未設定)在管線
Set objArchive = objApp.Namespace(strArchive).Items()
和線
Set objDest = objApp.Namespace(strDest)
默默無聞:執行後objDest
仍然沒有!
微軟的.Namespace()
作爲參數接受對象,字符串常量或字符串變量。隨着字符串變量經常有可疑的問題,這是需要一個解決辦法:
Set objArchive = objApp.Namespace(**CStr(** strArchive **)**).Items()
Set objDest = objApp.Namespace(**CStr(** strDest **)**)
或其他解決辦法
Set objArchive = objApp.Namespace(**"" &** strArchive).Items()
Set objDest = objApp.Namespace(**"" &** strDest)
而且objDest.CopyHere objArchive
也沒有工作線:目標文件夾仍然是空的!
這裏的一個版本,這是工作在Excel 2010中,最可能也是在其他環境中:
Sub UnZipFile(strZipArchive As String, strDestFolder As String)
Dim objApp As Object
Dim vItem As Variant
Dim objDest As Object
Set objApp = CreateObject("Shell.Application")
Set objDest = objApp.Namespace(CStr(strDestFolder))
For Each vItem In objApp.Namespace(CStr(strZipArchive)).Items
objDest.CopyHere vItem
Next vItem
End Sub
0
對於C#或VB的用戶,可以從MSDN檢查答案: https://msdn.microsoft.com/en-us/library/ms404280(v=vs.100).aspx
對於.net 4.x,這裏是MSDN示例代碼
using System;
using System.IO;
using System.IO.Compression;
namespace ConsoleApplication
{
class Program
{
static void Main(string[] args)
{
string startPath = @"c:\example\start";
string zipPath = @"c:\example\result.zip";
string extractPath = @"c:\example\extract";
ZipFile.CreateFromDirectory(startPath, zipPath);
ZipFile.ExtractToDirectory(zipPath, extractPath);
}
}
}
相關問題
- 1. 創建Zip文件在Windows和提取Zip文件在Linux中
- 2. 由crontab提取Zip文件
- 3. 從zip中提取文件
- 4. 提取.zip文件在python
- 5. Nodejs從ZIP提取文件
- 6. PHP提取zip文件上
- 7. API提取.zip文件中的7z文件
- 8. 提取文件夾中的Zip文件
- 9. PowerShell的zip文件提取醒目exceptons
- 10. Ionic Zip:提取文件夾的zip文件
- 11. Julia:在Zip文件中提取Zip文件
- 12. 使用庫提取ZIp文件JSZip
- 13. 如何提取Windows Phone 7中的zip文件?
- 14. Powershell在最後一個zip文件上失敗時提取zip文件。
- 15. 將zip條目提取到另一個Zip文件
- 16. FTP zip文件提取錯誤
- 17. c#提取目錄下的zip文件
- 18. Ruby:下載zip文件並提取
- 19. 蟒蛇不提取zip文件
- 20. 錯誤而提取zip文件
- 21. 上傳Zip文件並提取郵編
- 22. 如何在C#中提取ZIP文件
- 23. Ionic Zip只提取特定文件夾
- 24. 廚師 - 如何提取zip文件
- 25. 在Visual Basic .NET中提取Zip文件
- 26. 提取zip文件到目錄
- 27. Hwo提取ZIP文件到tar在postgresql
- 28. powershell - 從zip中提取文件類型
- 29. 提取.zip到%appdata%\子文件夾
- 30. 如何使用php提取.zip文件
謝謝abmv。但第一個鏈接需要一個外部zip.exe文件。你知道zip.exe的來源嗎? 顯然SharpZipLib無法解壓縮使用WinZip創建的zip文件,可以嗎? – Aximili 2009-05-18 23:25:18
我看到它來自另一個項目。我想知道你爲什麼不能把它合併成一個 – Aximili 2009-05-18 23:59:32