2009-05-26 39 views
10

Tôi muốn giải nén tệp .zip bằng VBScript, chỉ có máy tính mới không có ứng dụng bên ngoài trên đó. Bây giờ tôi biết Windows XP và 2003 có một tùy chọn thư mục .zip bên trong, vì vậy tôi đoán tôi có thể sử dụng nó thông qua VBScript để trích xuất tệp.Cách giải nén tệp trong VBScript bằng cách sử dụng các tùy chọn Windows XP bên trong trong

Tôi làm cách nào?

tôi đã cố gắng:

Set objShell = CreateObject("Shell.Application") 

Set SrcFldr = objShell.NameSpace(fileName) 
Set DestFldr = objShell.NameSpace(appDir) 
DestFldr.CopyHere(SrcFldr) 

nào không làm việc. Điều gì có thể là vấn đề?

+0

Hãy xem mục nhập thứ 3 trên trang web của [Rob van der Woude] (http://www.robvanderwoude.com/vbstech_files_zip.php#CopyHereUNZIP). – bugmagnet

+0

kiểm tra [this] (http://stackoverflow.com/questions/28043589/) – npocmaka

Trả lời

26

Chỉ cần đặt ZipFile = Vị trí của tệp zip và ExtractTo = thành vị trí mà tệp nén phải được trích xuất.

'The location of the zip file. 
ZipFile="C:\Test.Zip" 
'The folder the contents should be extracted to. 
ExtractTo="C:\Test\" 

'If the extraction location does not exist create it. 
Set fso = CreateObject("Scripting.FileSystemObject") 
If NOT fso.FolderExists(ExtractTo) Then 
    fso.CreateFolder(ExtractTo) 
End If 

'Extract the contants of the zip file. 
set objShell = CreateObject("Shell.Application") 
set FilesInZip=objShell.NameSpace(ZipFile).items 
objShell.NameSpace(ExtractTo).CopyHere(FilesInZip) 
Set fso = Nothing 
Set objShell = Nothing 
+2

Khi viết giống nhau trong JScript, một trong những cần phải chăm sóc để thoát khỏi các dấu gạch chéo ngược ("\\"). Điều đó khiến tôi đau đầu. –

+0

Nhận lỗi dưới dạng đối tượng Bắt buộc. msgstr "đặt FilesInZip = objShell.NameSpace (ZipFile) .items". Có ai có thể giúp tôi với cái này –

Các vấn đề liên quan