2009-05-26 9 views
10

Quiero descomprimir un archivo .zip usando VBScript, solo que siempre es una computadora nueva que no tiene aplicaciones externas. Ahora sé que Windows XP y 2003 tienen una opción interna de carpeta .zip, así que supongo que puedo usarla a través de VBScript para extraer el archivo.Cómo descomprimir un archivo en VBScript usando las opciones internas de Windows XP en

¿Cómo lo hago?

me trataron:

Set objShell = CreateObject("Shell.Application") 

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

los cuales no funcionaba. ¿Cuál podría ser el problema?

+0

Tenga una mirada en la tercera entrada en [Rob van der Woude] (http://www.robvanderwoude.com/vbstech_files_zip.php#CopyHereUNZIP) sitio. – bugmagnet

+0

check [this] (http://stackoverflow.com/questions/28043589/) – npocmaka

Respuesta

26

Simplemente configure ZipFile = La ubicación del archivo zip, y ExtractTo = en la ubicación donde debe extraerse el archivo zip.

'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

Al escribir lo mismo en JScript, hay que tener cuidado para escapar de las barras diagonales inversas ("\\"). Ese me dio un gran dolor de cabeza. –

+0

Obteniendo el error como objeto requerido. "establecer FilesInZip = objShell.NameSpace (ZipFile) .items". Alguien me puede ayudar en esto –

Cuestiones relacionadas